Skip to main content
The order server caches quotes from the solver network. Call 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):
If no solver quote matches, the response is 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 uses solana:1151111081099710 (mainnet; devnet is solana:1151111081099712) and base58 addresses. A Solana-origin → EVM-destination example:
The full list of Solana differences is in Solana vs EVM. Two Solana-specific rules about the request fields:
  • Use the solana: namespace for Solana legs. A Solana leg quoted under eip155: 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 receiver for Solana outputs.

Tron Request

Tron uses tron:728126428 and base58 T… addresses (0x-prefixed 20-byte hex is also accepted; responses always render base58). A Tron-origin → EVM-destination example:
Tron supports escrow settlement only — no Compact / resource-lock flow. Address conversion rules and the full delta list are in Tron vs EVM.

Response Format

The best quote is always at index 0.

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-20 approve or Permit2) before broadcasting the calldata.
  • Solana: the serialized transaction’s recentBlockhash is 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 a ComputeBudgetProgram.setComputeUnitLimit instruction using computeUnitsRequired before signing. checks.allowances is always []: the SPL transfer happens inside the open instruction, so there is no approval pre-step.
  • Tron: data is calldata, not a ready transaction — wrap it via TronWeb’s triggerSmartContract, and approve the TRC-20 input first. feeLimit is a cap on energy spend, not an estimate.
The sign-and-send flow for each chain is in Create and Submit Orders.

Exclusive Solver Matching

The metadata.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