0X Gasless Trade Structure
Field-level documentation for the gasless trade lifecycle: quote → submit → status.
Type: object
Properties: 0
CryptocurrencyDeFiDEX AggregatorSwapGaslessCross-ChainPermit2LiquidityTrade AnalyticsWeb3SettlementSmart Contracts
0X Gasless Trade Structure is a JSON Structure definition published by 0x.
{
"title": "0x Gasless Trade Structure",
"description": "Field-level documentation for the gasless trade lifecycle: quote → submit → status.",
"type": "object",
"fields": [
{
"name": "tradeHash",
"type": "string (32-byte hex)",
"required": true,
"description": "Unique hash identifying the gasless trade. Used to poll status via GET /gasless/status/{tradeHash}."
},
{
"name": "chainId",
"type": "integer",
"required": true,
"description": "Chain on which the gasless trade settles."
},
{
"name": "approval",
"type": "object | null",
"required": false,
"description": "EIP-712 approval payload (Permit, Permit2, or ExecuteMetaTransaction). Required only when the taker has not pre-approved the Settler.",
"fields": [
{"name": "type", "type": "string", "description": "One of permit | permit2 | executeMetaTransaction."},
{"name": "hash", "type": "string", "description": "Hash of the typed data."},
{"name": "eip712", "type": "object", "description": "EIP-712 typed data the taker signs off-chain."}
]
},
{
"name": "trade",
"type": "object",
"required": true,
"description": "The Permit2-based meta-transaction the taker signs and 0x relayers submit on-chain."
},
{
"name": "fees",
"type": "object",
"required": false,
"description": "Detailed fee breakdown — integratorFee, zeroExFee, gasFee.",
"fields": [
{"name": "integratorFee", "type": "object | null"},
{"name": "zeroExFee", "type": "object | null"},
{"name": "gasFee", "type": "object | null", "description": "Gas fee deducted from the sell token to compensate the relayer."}
]
},
{
"name": "status",
"type": "string",
"required": false,
"description": "Lifecycle: pending → submitted → succeeded → confirmed | failed | expired."
},
{
"name": "transactions",
"type": "array<object>",
"required": false,
"description": "On-chain transaction(s) emitted by the relayer for this trade.",
"fields": [
{"name": "hash", "type": "string (32-byte hex)"},
{"name": "timestamp", "type": "integer (unix seconds)"},
{"name": "blockNumber", "type": "string (decimal) | null"}
]
}
]
}