Skip to main content
POST
Create a trade

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 creating a trade. Accepts a quote and submits a signed taker Permit2 message to create the trade. The taker signs the typedData payload returned by the presign endpoint and includes the signed message, signature, and signer address.

idempotencyKey
string<uuid>
required

Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests. To create a UUIDv4 go to uuidgenerator.net. If the same key is reused, it will be treated as the same request and the original response will be returned.

Example:

"a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"

quoteId
string<uuid>
required

System-generated unique identifier of the resource.

Example:

"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"

address
string
required

The wallet address signing the trade presign data.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

message
object
required

The taker Permit2 message derived from the quote response typedData.message.

signature
string
required

The signature generated from signing the trade presign data.

Response

200 - application/json

Trade created successfully

A StableFX trade created from a quote.

id
string<uuid>

System-generated unique identifier of the resource.

Example:

"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"

contractTradeId
string

The ID of the trade on the contract.

Pattern: ^[0-9]+$
Example:

"24"

status
enum<string>
Available options:
pending,
complete,
confirmed,
pending_settlement,
taker_funded,
maker_funded,
refunded,
breaching,
breached
rate
number<double>

Exchange rate for the quote

Example:

0.915

from
object

Currency and amount details for a foreign exchange transaction

to
object

Currency and amount details for a foreign exchange transaction

fee
string

Trade fee charged to the requesting party (matching the type parameter — taker or maker), denominated in the to currency.

Pattern: ^\d+(?:\.\d{1,6})?$
Example:

"100.00"

createDate
string<date-time>

Date and time when the resource was created

Example:

"2023-01-01T12:04:05Z"

updateDate
string<date-time>

Date and time when the resource was last updated

Example:

"2023-01-01T12:04:05Z"

quoteId
string<uuid>

System-generated unique identifier of the resource.

Example:

"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"

settlementTransactionHash
string | null

The hash of the settlement transaction on-chain.

Pattern: ^0x[a-fA-F0-9]{64}$
Example:

"0xf97c6a87511583d5c7e8e72f8e1fe38bfd24350edda78fddbe67125f3cf0a122"

maturity
string<date-time> | null

The date when the trade has matured.

Example:

"2023-01-01T12:04:05Z"

tenor
enum<string>

The settlement schedule for the trade

Available options:
instant,
hourly,
daily
completeDate
string<date-time> | null

The time/date the trade was completed.

Example:

"2023-01-01T12:04:05Z"