{
"quotes": [
{
"quoteId": "q_01HZXK7Q9R2M4T6V8W0Y2A4C6E",
"solverId": "tetrafi-native",
"executionMode": "apiSubmit",
"order": {
"type": "escrow-v0",
"payload": {
"...": "EIP-712 typed data - sign verbatim"
}
},
"validUntil": 1784560000,
"eta": 45,
"preview": {
"inputs": [
{
"asset": "eip155:10/erc20:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"amount": "25000000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998
}
],
"outputs": [
{
"asset": "eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "24987500",
"minimumAmount": "24950000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998,
"receiver": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693"
}
]
},
"integrityChecksum": "b74d21c09a4e5f38",
"routingPath": "direct",
"platformFeeBps": 5,
"lpSpreadBps": 3,
"composite": null,
"gas": {
"native": "0",
"usd": 0
},
"warnings": []
},
{
"quoteId": "q_01HZYA3B5D7F9H1J3L5N7P9R1T",
"solverId": "bridge-route",
"executionMode": "walletBroadcast",
"order": null,
"validUntil": 1784559900,
"eta": 180,
"preview": {
"inputs": [
{
"asset": "eip155:10/erc20:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"amount": "25000000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998
}
],
"outputs": [
{
"asset": "eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "24924100",
"minimumAmount": "24875000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998,
"receiver": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693"
}
]
},
"integrityChecksum": "0f83aa517c2d9b64",
"routingPath": "multiLeg",
"platformFeeBps": 5,
"lpSpreadBps": null,
"composite": {
"legs": [
{
"kind": "bridgeBurnMint",
"chainId": 10
},
{
"kind": "sameChainSwap",
"chainId": 8453
}
],
"executionModel": "sequential"
},
"gas": {
"native": "412000000000000",
"usd": 1.38
},
"warnings": []
}
],
"totalQuotes": 2,
"metadata": {
"totalDurationMs": 412,
"solversQueried": 6,
"solversSuccess": 2,
"routes": {
"plannerPasses": 1
}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Quotes
Request ranked, executable candidates for a trade intent. The router sweeps every eligible source - direct DEX liquidity, the RFQ venue, bridges, issuers, and fiat rails - and returns each candidate with its own stated guarantees. Several knobs from older quote APIs are deliberately absent here: there is no gasless flag (who lands the transaction is the per-candidate executionMode: apiSubmit | walletBroadcast), no slippage parameter (each candidate prints guaranteed minimum outputs instead), no approval-type choice (preflight selects the funding lock - Permit2, EIP-3009, or resource lock - that the corridor and token support), and no per-request fee fields (monetization is the platformFeeBps configured on your workspace, echoed on every candidate).
{
"quotes": [
{
"quoteId": "q_01HZXK7Q9R2M4T6V8W0Y2A4C6E",
"solverId": "tetrafi-native",
"executionMode": "apiSubmit",
"order": {
"type": "escrow-v0",
"payload": {
"...": "EIP-712 typed data - sign verbatim"
}
},
"validUntil": 1784560000,
"eta": 45,
"preview": {
"inputs": [
{
"asset": "eip155:10/erc20:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"amount": "25000000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998
}
],
"outputs": [
{
"asset": "eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "24987500",
"minimumAmount": "24950000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998,
"receiver": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693"
}
]
},
"integrityChecksum": "b74d21c09a4e5f38",
"routingPath": "direct",
"platformFeeBps": 5,
"lpSpreadBps": 3,
"composite": null,
"gas": {
"native": "0",
"usd": 0
},
"warnings": []
},
{
"quoteId": "q_01HZYA3B5D7F9H1J3L5N7P9R1T",
"solverId": "bridge-route",
"executionMode": "walletBroadcast",
"order": null,
"validUntil": 1784559900,
"eta": 180,
"preview": {
"inputs": [
{
"asset": "eip155:10/erc20:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"amount": "25000000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998
}
],
"outputs": [
{
"asset": "eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "24924100",
"minimumAmount": "24875000",
"decimals": 6,
"symbol": "USDC",
"priceUsd": 0.9998,
"receiver": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693"
}
]
},
"integrityChecksum": "0f83aa517c2d9b64",
"routingPath": "multiLeg",
"platformFeeBps": 5,
"lpSpreadBps": null,
"composite": {
"legs": [
{
"kind": "bridgeBurnMint",
"chainId": 10
},
{
"kind": "sameChainSwap",
"chainId": 8453
}
],
"executionModel": "sequential"
},
"gas": {
"native": "412000000000000",
"usd": 1.38
},
"warnings": []
}
],
"totalQuotes": 2,
"metadata": {
"totalDurationMs": 412,
"solversQueried": 6,
"solversSuccess": 2,
"routes": {
"plannerPasses": 1
}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Service-account API key (tfk_test_/tfk_live_).
Body
Wallet initiating the trade. It signs the order payload and, on walletBroadcast candidates, broadcasts the prepared transactions.
"0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693"
Declares what goes in and what must come out, rather than a fixed route. Each asset carries its own chainId, so a single intent can span networks.
Show child attributes
Show child attributes
Order payload types your signer can handle. escrow-v0 is the current settlement payload - send ["escrow-v0"].
["escrow-v0"]
Earliest acceptable candidate expiry (unix seconds). Candidates whose firmness window closes sooner are filtered out - useful when your flow needs time between quoting and submission.
Per-request solver tuning: include or exclude specific solvers and adjust sweep timeouts. Server-managed defaults apply when omitted.
Multi-leg planner controls such as routes and maxRouteLegs. Server-managed defaults apply when omitted.
Response
Successful Response
Ranked executable candidates, best first under the requested preference. Every entry is independently executable and states its own guarantees; one source being down, slow, or empty never suppresses candidates from the others.
Show child attributes
Show child attributes
Number of candidates returned.
How the sweep went - aggregation stats across sources plus the planner's route detail.
Show child attributes
Show child attributes