Skip to main content
POST
Builds the proposeExtension transaction, the first of two steps that move a maturity later. Requires ISSUER_ROLE on the market. The admin then confirms the proposal within seven days with Extension Action. No maturity moves before that confirmation. Extensions only ever push dates out, and they never change a rate: a stamped fixed rate survives every extension. They need no signature from the borrower. The market’s extension switch must therefore be on, set with Set Allow Extension, and the lender of record’s terms of use must provide for them.

Path Parameters

string
required
Market ID.

Body Parameters

string
required
LOAN, BATCH or FLOOR. See below for what each one reaches.
integer | string
The on-chain loan ID a LOAN proposal extends, and required by it. A positive integer or a string of digits. Refused on BATCH and FLOOR, which name no loan.
integer | string
required
The new maturity, in unix seconds. A positive integer or a string of digits. Must be in the future.

Choose the Kind

LOAN extends one loan. The loan must be open and carry a maturity, and newDueAt must be later than its effective maturity: the later of its own maturity and the market due floor. The extension applies when the admin confirms it. BATCH extends every loan opened up to the moment of the proposal. It records the loan counter at that point, and loans opened later are out of its reach. After confirmation, the loans are applied in pages of up to 200 IDs, and a loan that is closed, carries no maturity, or already matures on or after newDueAt is skipped. FLOOR raises the market due floor to newDueAt, which must be above the current floor. Every loan that carries a maturity then matures no earlier than that date, including loans opened while the floor stands. Loans without a term stay without one. The raise applies when the admin confirms it.

Record Each Step

The proposal ID only exists once the transaction mines. Send the mined hash to Confirm Extension Transaction, which is what confirmWith names. It reads the ID from the receipt and returns it in activity. This endpoint takes no txHash.

Response Fields

The calldata response carries the transaction twice. transaction holds to and data. The same to and data also sit directly on data, and that is where the chainId and value binding lands, so sign from those four fields.
object

Error Codes