Skip to main content
Settlement Advance is a maker-facing credit facility in StableFX. An approved maker borrows local stablecoin inventory, such as MXNB, against a Circle-issued credit line to fund the maker side of a confirmed trade, instead of sourcing and delivering that inventory themselves. Circle advances the funds through a Circle-controlled funding wallet and the maker repays later. This lets a maker settle instantly on currency pairs where they don’t yet hold base-currency inventory. Settlement Advance applies to per-trade instant settlement only; it isn’t used with net or batch delayed settlement. Settlement Advance extends the maker funding model described in the StableFX technical guide. Instead of the maker delivering their own funds to the FxEscrow contract, a Circle-controlled funding wallet delivers the maker’s leg on the maker’s behalf through a delegate-deliver path, and the maker authorizes that delivery with a signature.

The credit line

Each approved maker has one credit line, represented by the SettlementAdvanceCredit resource and retrievable through the Get settlement advance credit endpoint. The credit line tracks the maker’s borrowing limit, current usage, and available headroom both overall and per currency. It also holds the onchain repayment address and the advance fee rate, expressed in basis points (bps).

Delegate funding

Settlement Advance is built on a delegate funding primitive on the existing FxEscrow contract. Rather than calling the direct maker delivery path with their own funds, the maker authorizes a Circle-controlled funding wallet to deliver the maker’s leg on their behalf. The maker grants this authorization by signing a Uniswap Permit2 PermitWitnessTransferFrom payload whose permitted.amount is 0. Because the permitted amount is zero, no tokens ever leave the maker’s wallet. Permit2 acts purely as an authorization carrier, not as a transfer instruction. The authorization is bound to a single trade through the DelegateFundingAuthorization witness, which captures these values:
  • id: the onchain trade ID
  • funder: the Circle-controlled funding wallet
  • recipient: the escrow address that receives settlement proceeds
  • token: the base-token ERC-20 contract
  • amount: the authorized amount
The Permit2 spender is the FxEscrow contract, and the typed-data primaryType is DelegateFundingAuthorizationPermitWitnessTransferFrom. For background on how Permit2 authorizations work in StableFX, see Grant a USDC allowance with Permit2.

Collateral

The taker’s USDC settlement proceeds are held in escrow to back the advance. This collateral builds on the risk-buffers model: just as StableFX holds buffers from both parties to manage counterparty risk, the taker’s proceeds are held in escrow as security for the funds Circle advances to the maker. To understand how StableFX uses escrow to manage exposure during trade execution, see StableFX risk buffers.

Reservations

A reservation is an optional, short-lived hold that a maker can place on their credit line before requesting an advance. Reserving credit locks a fee snapshot so the maker knows the fee before committing. A reservation expires at the time recorded in its expirationDate, after which the maker must reserve again. A maker can skip the reservation and request an advance directly. A credit line has at most one active reservation. Submitting a new reservation with a different idempotency key replaces an existing active reservation. The SettlementAdvanceReservation resource includes an id, an amount (currency and amount), an expirationDate, a fee, and a status drawn from ReservationStatus:
  • funds_reserved: the reservation is active and holding credit
  • expired: the reservation expired before it was consumed
  • replaced: a newer reservation replaced this one
  • consumed: the reservation was used to fund an advance

The advance lifecycle

An advance moves through the states defined by AdvanceCreditStatus. The maker drives the advance over the API: optionally reserving credit, pre-signing to obtain the Permit2 typed data, requesting the advance with the signed authorization, and tracking status through to repayment. Funding runs asynchronously after the request. The states are:
  • funds_reserved: credit is reserved and awaiting maker action
  • requested: the maker submitted the signed authorization and Circle is moving funds
  • disbursed: the advanced funds were delivered to the funding pass-through wallet
  • past_due: the dueDate passed without full repayment
  • paid: the advance is fully repaid
The terminal exception states are:
  • rejected: the credit line rejected the request
  • expired: the reservation expired before it was consumed
  • canceled: the maker or Circle canceled the advance
The SettlementAdvanceDetail resource reports an advance through advanceId, tradeId, contractTradeId, status, the advance amount, the collateral amount, and the fee fields described in the next section.

Fees and repayment

Each advance carries a fee rate in bps, recorded as feeBps on the advance and derived from the credit line’s stableFxFeeInBps. The detail resource exposes the fee in stages:
  • accruedFee: the fee accrued so far. Omitted until the advance is funded.
  • fee: the total fee for the advance. Omitted until the advance is fully repaid.
The fundedAt and dueDate fields are also omitted until the advance is funded. Once funding completes, dueDate records the repayment due date. Repayments apply on a first-in-first-out (FIFO) basis across the maker’s outstanding transfers in the same currency: the oldest outstanding transfer is repaid first. If a repayment exceeds the outstanding balance, the excess is recorded as a credit over-repayment. The detail resource lists repayments in repayments, and records feeCollectedAt once the fee is collected, which happens after the advance is fully repaid. To request, fund, and repay an advance step by step, see Fund a trade with Settlement Advance. Settlement Advance applies only to per-trade instant settlement and to pairs where the maker holds an active credit line. For the currencies and pairs StableFX supports, see StableFX supported currencies.