POST /api/v1/integrator/quote/request to get pricing for an intent before opening an order.
Using the order server for quotes is optional but recommended. It matches intents against solver standing quotes and gives stronger execution guarantees.
No authentication is required. Optionally pass an X-Integrator-Key header: when set, the order server serves only solver quotes tagged for that key. It leaves out open-market quotes and does not fall back to them, so if no solver has tagged a quote for your key, you get none.
Request Format
Every field that names an account or asset is a native address paired with a CAIP-2 chain id (eip155:8453 for Base, tron:728126428 for Tron, solana:1151111081099710 for Solana mainnet). The example below quotes USDC from Base to Arbitrum (exact-input):
200 with "quotes": [], not an error.
Request Fields
The request shape is the same on every chain — the examples below only swap the
chain values and address formats.
Solana Request
Solana usessolana:1151111081099710 (mainnet; devnet is solana:1151111081099712) and base58 addresses. A Solana-origin → EVM-destination example:
- Use the
solana:namespace for Solana legs. A Solana leg quoted undereip155:is rejected — and the error message describes the asset’s encoding (a hex-format or bytes32 complaint, depending on how the address was given), not the namespace mistake that actually caused it. - The receiver must be an on-curve wallet public key. The API rejects PDAs and other off-curve addresses as
receiverfor Solana outputs.
Tron Request
Tron usestron:728126428 and base58 T… addresses (0x-prefixed 20-byte hex is also accepted; responses always render base58). A Tron-origin → EVM-destination example:
Response Format
Response Fields
The Open Transaction
order.openIntentTx always carries chain, to, and data, plus one chain-specific fee field:
Chain-specific handling before sending:
- EVM: satisfy every entry in
checks.allowances(ERC-20approveor Permit2) before broadcasting the calldata. - Solana: the serialized transaction’s
recentBlockhashis a dummy all-zeros value (11111111111111111111111111111111) and must be replaced with a fresh blockhash before signing. The serialized message does not contain a Compute Budget instruction; rebuild it with aComputeBudgetProgram.setComputeUnitLimitinstruction usingcomputeUnitsRequiredbefore signing.checks.allowancesis always[]: the SPL transfer happens inside theopeninstruction, so there is no approval pre-step. - Tron:
datais calldata, not a ready transaction — wrap it via TronWeb’striggerSmartContract, and approve the TRC-20 input first.feeLimitis a cap on energy spend, not an estimate.
Exclusive Solver Matching
Themetadata.exclusiveFor field identifies the solver selected to claim the inputs and therefore uses the input chain’s native address format. When a quote wins, the order server encodes that identity and the exclusivity window into the built order’s output context.
Next Steps
Create and Submit Orders
Sign and send the quote’s open transaction on each chain
Track Order Status
Monitor order progress via the API or on-chain events

