POST
Create an exchange order
Submits a new mint or burn order for the enterprise
Path Params
-
enterpriseIdstring requiredEnterprise ID submitting the order
Body Params
object
Request body for creating a new exchange order.
-
idempotencyKeystringIdempotency key to prevent duplicate order creation. Scoped per enterprise — the same key can be reused across different enterprises. Leading/trailing whitespace is stripped on decode; an all-whitespace value is rejected. -
memostringOptional free-text annotation for internal reference (max 500 characters). Stored on the order and returned in all read responses. -
sourceobject requiredSource details for an exchange order.source object
-
assetstring requiredSource asset -
amountstring requiredSource amount in base units. Must be a positive integer string. -
walletIdstring requiredSource wallet ID (GoAccount ID or wallet ID) -
typestring enum requiredSource type — only GO_ACCOUNT is supported.GO_ACCOUNT
-
-
destinationobject requiredDestination details for an exchange order. Exactly one ofaddressorwalletIdmust be provided, consistent withtype.destination object
-
assetstring requiredDestination asset -
typestring requiredDestination type — where funds are going. Use BLOCKCHAIN_ADDRESS for any raw on-chain address. Use GO_ACCOUNT or WALLET with walletId for wallet-based destinations.ONE OF
string enum
string enum
string enum
-
addressstringDestination address (blockchain address). Required when type is BLOCKCHAIN_ADDRESS. -
walletIdstringDestination wallet ID. Required when type is GO_ACCOUNT or WALLET.
-
Responses
201
Created
Response Body
object
Response type for POST /enterprise/:enterpriseId/orders
Returns the created exchange order details.
-
idstring requiredUnique identifier for the exchange order @example "95bdbd9c-9cdc-41a4-ae70-165387b7aa51" -
userIdstring requiredUser identifier @example "6437d9f07d6a87000613e6c06e4218d3" -
typestring enum requiredOrder direction — MINT or BURN (derived from the execution plan)MINTBURN -
statusstring enum requiredCurrent status of the exchange order @example "CREATED"CREATEDCONFIRMED_DEPOSITPROCESSINGFULFILLEDFAILED -
enterpriseIdstring requiredEnterprise identifier @example "67bc4ae090e8af8f9b412d3d67e85252" -
sourceobject requiredSource asset and amount detailssource object
-
assetstring requiredSource asset @example "sol:usd1" -
amountstring requiredSource amount in base units @example "1000500000" -
typestring enum requiredSource type @example "GO_ACCOUNT"GO_ACCOUNTBLOCKCHAIN_ADDRESSWALLET -
walletIdstringSource wallet ID (e.g., GoAccount ID or wallet ID) @example "67bc4b038f5408faefbfc8edcf6e6577"
-
-
destinationobject requiredDestination asset and amount detailsdestination object
-
assetstring requiredDestination asset @example "fiatusd" -
typestring enum requiredDestination type @example "BLOCKCHAIN_ADDRESS"GO_ACCOUNTBLOCKCHAIN_ADDRESSWALLET -
amountstringDestination amount in base units (after fees) @example "99900000" -
addressstringOn-chain destination address. Present when type is BLOCKCHAIN_ADDRESS, or when a receive address has been resolved for a GO_ACCOUNT or WALLET destination. -
walletIdstringDestination wallet ID. Present when type is GO_ACCOUNT or WALLET. -
transferIdstringSettlement transfer ID — populated once settlement completes. -
transactionHashstringSettlement transaction hash — populated once settlement completes.
-
-
feeobject requiredFee applied to this orderfee object
-
basisPointsstring requiredFee rate in basis points (1 bps = 0.01%)
-
-
createdAtstring date-time requiredISO8601 creation timestamp @example "2025-04-04T09:25:48.216Z" -
updatedAtstring date-time requiredISO8601 last-updated timestamp @example "2025-04-04T09:25:48.216Z" -
idempotencyKeystringIdempotency key — present only when the order was created with one -
depositInstructionsobjectDeposit instructions describing where source funds should be sentONE OF
-
typestring enum requiredIndicates how to interpret the deposit identifier (GO_ACCOUNT, BLOCKCHAIN_ADDRESS, WALLET)GO_ACCOUNTBLOCKCHAIN_ADDRESSWALLET -
assetstring requiredThe asset to deposit @example "tpolygon:usdc" -
sequenceIdstring requiredSequence ID to use when initiating the source funds transfer -
addressstring requiredOn-chain address where source funds should be deposited. Present when type is BLOCKCHAIN_ADDRESS.
-
typestring enum requiredIndicates how to interpret the deposit identifier (GO_ACCOUNT, BLOCKCHAIN_ADDRESS, WALLET)GO_ACCOUNTBLOCKCHAIN_ADDRESSWALLET -
assetstring requiredThe asset to deposit @example "tpolygon:usdc" -
sequenceIdstring requiredSequence ID to use when initiating the source funds transfer -
walletIdstring requiredBitGo wallet ID (GoAccount or wallet) where source funds should be deposited. Present when type is GO_ACCOUNT or WALLET.
-
-
orderMethodstring enumPresent only for issuer-direct orders. Absent means standard deposit flow.ISSUER_DIRECT -
memostringFree-text annotation provided at order creation @example "Q2 rebalance batch 3"