Loan Process
Solvers must obtain a threshold of signatures from validators in order to borrow capital from an Inventory Pool. This diagram illustrates the process:

Step 1: Solver submits a request to the API service to borrow from an Inventory Pool on a specific chain
Step 2: The API service sends this request to the set of validators for the Inventory Pool
Step 3: Validators check on-chain state:
Solver's requested loan amount plus their current debt does not exceed the solver's collateral value
Solver has not initiated a collateral withdraw
Solver does not have any overdue repayments (incurring penalties)
Step 4: If validators determine that the borrow request is valid, they respond by providing a signature for the reqeust.
Step 5: The API service constructs a transaction for the borrow request which includes validator signatures
Step 6: Solver executes the borrow transaction to the Access Control contract for the Inventory Pool
Step 7: If access control signature checks pass, the borrow()
function is executed on the Inventory Pool
Important Notes
Access Control for different inventory pools can define different validator sets and implement additional security around borrowing (e.g. enforcing borrower whitelists)
The Nomial API service exists to provide a convenient interaction point, but is not required for the protocol to function. It is possible for solvers to bypass the API and request to validators directly.
The access controller sets the rules around required validator signature thresholds. Default access control requires a majority (e.g. 2/3).
Last updated