Submit your signed intent (relayer pays the gas)
robyn_submitRelay an intent you already signed. The relayer broadcasts it and fronts all network gas; your account needs no native token. Build permit2 from robyn_prepare: sign its signRequest.eip712 payload (canonical Permit2 domain + PermitTransferFrom/TokenPermissions types) and pass the OBJECT below - not a bare signature string. The signed spender must be the relayer from signRequest.spender, otherwise the permit cannot be redeemed. Supply idempotencyKey so a retry after a timeout cannot double-spend. TO REHEARSE WITHOUT BROADCASTING set dryRun:true — it returns {status:"DRY", broadcast:false, wouldSend} and moves nothing, on EVERY corridor. Do NOT assume that omitting a live flag means dry: that holds on the float lane and the non-EVM legs, but the EVM-to-EVM path ignores it and BROADCASTS.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| dryRun | No | true = rehearse only: returns {status:"DRY", broadcast:false, wouldSend} and broadcasts NOTHING, on every corridor. Use this to preview before committing. | |
| permit2 | Yes | Permit2 SignatureTransfer object - NOT a bare signature string | |
| toChain | Yes | ||
| toToken | Yes | ||
| fromChain | Yes | ||
| fromToken | Yes | ||
| toAddress | Yes | ||
| idempotencyKey | No | any unique string; makes retries safe |