Trading

Submit signatures for a pending self-custody fill

POST
/execution/fill/{quoteId}/signatures

Authorization

appIdbearerAuth
headerx-app-id<token>

Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.

headerAuthorizationBearer <JWT>

JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.

Path Parameters

quoteId*string

Request Body

application/json
  1. body
signatures*array<>
Items1 <= items <= 32

Response Body

200

application/json
  1. response
alreadyAccepted?boolean

true when this quote was already accepted; the call had no new effect.

quoteId*string

The quote being filled. Poll GET /execution/status with it.

orderIds*array<string>

Orders created for the fill, including tracking orders for shares redeemed instead of sold.

status*"pending"

Always pending: accepted, not yet executed. Poll GET /execution/status.

Value in"pending"
redeemId?string

Present when a sell quote includes resolved shares that are redeemed rather than sold.

message?string

Readable note about redemption, when relevant.

pendingSignatures?array<>

Self-custody only: requests the user's wallet must sign before execution continues. Absent for managed custody. Answer them on POST /execution/fill/{quoteId}/signatures.

Example Request
curl -X POST 'https://api.t.sufwankhalid.com/execution/fill/string/signatures' \  -H 'Content-Type: application/json' \  -d '{  "signatures": [    {      "stepId": "polymarket-order-cmf3r1a2b00c4mw0lq8y7e3uj",      "signature": "0x5d2c8f1a4e7b0d3c6f9a2e5b8d1c4f7a0e3b6d9c2f5a8e1b4d7c0f3a6e9b2d5c8f1a4e7b0d3c6f9a2e5b8d1c4f7a0e3b6d9c2f5a8e1b4d7c0f3a6e9b2d5c8f1a1b"    }  ]}'
Example Response
{  "quoteId": "k2r8v5n1x7c4m9t3b6q0w2za",  "orderIds": [    "cmf3r1a2b00c4mw0lq8y7e3uj",    "cmf3r1a3c00c5mw0lt2k9w6nd"  ],  "status": "pending"}