Skip to main content
POST
Increases the borrowed amount on an active loan without posting more collateral. Only the loan’s borrower can sign it: the contract reverts for any other sender. It also reverts if the resulting debt would exceed what the existing collateral supports at the current price. Single transaction in both modes. No approval is involved because funds move out of the pool, not in.
A loan carrying a stamped fixed rate cannot be drawn on again. The extra principal would ride on a rate stamped for a different amount at a different time, so the market refuses it. The call comes back as FIXED_RATE_LOAN and the message names the stamped rate. Open a new loan at current terms instead.
On a MARKET-priced market the API builds no further draw until the market’s borrower register qualifies as a professional gate, the same check Open Loan runs. It refuses with 409 PROFESSIONAL_BORROWER_GATE_REQUIRED, details.field: "borrowerRegistry", right after the lender-of-record check. A loan already open is not touched: repaying, adding collateral and closing stay open. See Professional borrowers.

Path Parameters

string
required
The market’s record ID, as id on List Markets, not its contract address. See Market IDs.

Body Parameters

integer
required
On-chain loan ID. A positive integer. Accepted as a JSON number or as a numeric string, so the value Get Loan returns passes straight back.
string
Additional amount to borrow, as a positive decimal string in borrow asset units. The loan’s debt grows by this amount. Required when building calldata, not needed on the confirm call.
object
EIP-712 signed price from Sign Price. Omit to price against the stored oracle value. A market that prices from an external feed refuses a signed price with EXTERNAL_FEED_ACTIVE, and a market with a fixed price with FIXED_PRICE_ACTIVE.
string
Hash of the transaction you broadcast for this operation. Send it to confirm the transaction and record the result. Omit it to receive the calldata.

Draws on a loan with a payee

A loan opened with a payToAddress pays every draw to that payee, never to the signing wallet. The payee was fixed when the loan was opened and cannot be changed. The calldata response names it in paidTo and payeeAddress, and its warnings state it. See Pay the proceeds to another wallet. The payee must still pass the market’s borrower register. A payee the register no longer admits is refused with 400 PAYEE_NOT_VERIFIED, or with 409 IDENTITY_GATE_RETIRED when the register is the previous Trusset ID Register, and one whose removal is pending with 409 ELIGIBILITY_REMOVAL_PENDING. Either refusal holds until the payee is admitted again, because no other wallet can take its place. Repaying, adding collateral and closing are not affected. When where the draw would be paid cannot be read, the call answers 503 MARKET_STATE_UNAVAILABLE.

Opening fee and vault draws

A market that charges an opening fee charges it on every draw, this one included. The debt grows by amount and the borrower receives amount less the fee, which is the flat fee or 0.5 percent of amount, whichever is smaller. The calldata response then carries transactionFee, shaped as on Open Loan, and its message in warnings. On a market that draws on vault liquidity, a draw larger than the pool’s borrowable liquidity pulls the shortfall from the registered vaults in the same transaction. The API does not refuse such a draw for liquidity, because the market itself is the final gate there. The confirm response lists each vault draw in vaultDraws.

Response Fields

object
Borrowing more moves the loan closer to its liquidation threshold. Read the resulting health factor from Get Loan afterwards, and expose it to the borrower before they commit.
Capacity is checked before any transaction is offered. An amount past what the collateral supports is refused with EXCEEDS_MAX_BORROW. With a signedPrice, that limit is computed at the signed price, because the contract applies it before it prices the collateral. On a market without vault liquidity, one the pool cannot fund is refused with INSUFFICIENT_LIQUIDITY. Compute headroom from Get Max Borrow against the loan’s collateral, less outstanding principal and accrued interest.
While a Dutch auction is open against the loan, the contract reverts the draw. The API does not check for an open auction before offering calldata.

Error Codes

Confirming with txHash can also return any transaction verification error.