Self-Submit On-Chain
Last updated
For integrators who sign and broadcast transactions with their own wallet or custodian.
Call /calldata for the operation:
Orders: POST /api/v1/orders/calldata
Deposits: POST /api/v1/cash/deposits/calldata
Withdrawals: POST /api/v1/cash/withdrawals/calldata
Submit toAddress, value, and callData on-chain.
Call the matching /tx endpoint with txHash.
Indexer backfills orderId or operationId.
Poll status endpoints until settled.
Use a reliable RPC node.
estimateGas,eth_call, andwaitForTransactionReceipthit your RPC provider, not the Synfutures API. Free/public endpoints (including viem's defaulthttp()transport and free-tier providers) may rate-limit or rejecteth_calland gas estimation, failing before the API is involved. Pass your own node URL tohttp("<url>").Add a gas buffer. Default
estimateGascan under-estimate router calls on some chains (e.g. Monad) and the tx reverts out-of-gas. Multiply the estimate (e.g.× 1.5–2) before submitting.
Place order
POST /api/v1/orders/tx
Deposit
POST /api/v1/cash/deposits/tx
Withdraw
POST /api/v1/cash/withdrawals/tx
Order
GET /api/v1/orders/tx/{txHash}, GET /api/v1/orders/{orderId}
Deposit
GET /api/v1/cash/deposits/{operationId}
Withdraw
GET /api/v1/cash/withdrawals/{operationId}
Same
txHashfrom the same API key is idempotent. AtxHashalready recorded by another API key returns an error.
Complete ERC-20 approve before deposit calldata execution. See cash/deposits.md and demo-code.md.
Last updated