Skip to content
Logo

Simulate Transfer

Dry-run a value-movement intent to preview fees, routing, and transaction data without executing on-chain. The request body is identical to Create Transfer.

POST /transfers/simulate

Request Body

Identical to Create Transfer.

FieldTypeRequiredDescription
fromCAIP-10YesSource account and chain.
toCAIP-10YesDestination account and chain.
assetCAIP-10 | { in: CAIP-10, out: CAIP-10 }YesToken to move. Use { in, out } for swaps.
amountstringYesAmount as a decimal string.
deadlinestringNoLatest execution time (ISO 8601).
callDatastringNoHex-encoded calldata.
{
  "from": "eip155:11155111:0x3165...",
  "to": "eip155:11155111:0x8f66...",
  "asset": "eip155:11155111:0xA0b8...",
  "amount": "1000.50"
}

Response Fields

FieldTypeDescription
simulationIdstringUnique identifier for this simulation result.
validbooleanWhether the intent would succeed as submitted.
resolvedPathstring[]Ordered list of primitive operations (e.g. ["transfer"], ["swap"], or ["bridge"]).
estimatedFeesobjectBreakdown of gas, protocol, and solver fees.
estimatedTimeSnumberExpected settlement time in seconds.
warningsstring[]Non-fatal issues.
errorsstring[]Fatal validation errors if valid is false.
expiresAtstringISO 8601 timestamp after which quoted fees may no longer be accurate.
txobjectOptional transaction payload ready for submission.

Errors

HTTPTypeWhen
422ValidationErrorInvalid request body or field validation failure.
422InsufficientFundsErrorSource account lacks the required balance.
422BlockchainErrorOn-chain simulation failure.
422ChainNotConfiguredErrorThe specified chain is not supported.
422CAIPErrorInvalid CAIP-2 chain identifier.
422IntentIdErrorIntent ID generation failure.
422CurrencyErrorBridge provider quote failure for cross-chain requests.