Skip to content
LogoLogo

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
400bad-requestMalformed JSON or a payload that fails schema validation.
401missing-api-keyNo api-key header.
403invalid-api-keyInvalid API key.
403chain-not-allowed-for-key-environmentThe key's environment cannot act on the requested chain.
422validation-failedDomain validation failure such as an unknown asset symbol or insufficient funds.
429rate-limitedRate limit exceeded.
500transfer-service-failureUnexpected transfer service error.
422CurrencyErrorBridge provider quote failure for cross-chain requests.