Skip to main content
POST
/
v1
/
exchange
/
stablefx
/
signatures
/
settlementAdvance
/
presign
Get settlement advance Permit2 typed data for signing
curl --request POST \
  --url https://api.circle.com/v1/exchange/stablefx/signatures/settlementAdvance/presign \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "exchangeTradeId": "trade-abc-123"
}
'
{
  "advance": {
    "currency": "USDC",
    "amount": "<string>"
  },
  "collateral": {
    "currency": "USDC",
    "amount": "<string>"
  },
  "makerPermitTypedData": {
    "types": {},
    "primaryType": "DelegateFundingAuthorizationPermitWitnessTransferFrom",
    "domain": {
      "name": "Permit2",
      "chainId": 11155111,
      "verifyingContract": "0xffd21ca8F0876DaFAD7de09404E0c1f868bbf1AE"
    },
    "message": {
      "permitted": {
        "token": "0xTOKEN",
        "amount": "1000"
      },
      "spender": "0xFxEscrow000000000000000000000000000000000",
      "nonce": "1234567890",
      "deadline": "1782556800",
      "witness": {
        "id": "987654321",
        "funder": "0xLLCFunderPW...address",
        "recipient": "0xLLCEscrowPW...address",
        "token": "0xMXNB...address",
        "amount": "19000000000000000000000"
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Circle's API Keys are formatted in the following structure "PREFIX:ID:SECRET". All three parts are requred to make a successful request.

Body

application/json

Request body for getting settlement advance Permit2 typed-data.

exchangeTradeId
string
required

Exchange trade identifier.

Example:

"trade-abc-123"

Response

Typed-data ready for the maker to sign.

Settlement advance Permit2 typed-data for maker signing.

advance
object
required

Currency and amount for settlement advance flows.

collateral
object
required

Currency and amount for settlement advance flows.

makerPermitTypedData
object
required

EIP-712 Permit2 typed-data envelope for maker signing.