Skip to main content
POST
Initiate an intent with Permit2
Funds a quote gaslessly with a signed Permit2 PermitSingle (AllowanceTransfer, not SignatureTransfer). chainId is the chain the permit was signed for, target.quoteId names the quote, permit2.spender is the quote’s execution.vault, and signature is the top-level EIP-712 signature. permit2.sigDeadline is a decimal string. The first submission answers 202 with a gasless job; resending the same signature returns the existing job with 200. Requires x-api-key. Partner pricing, attribution, and enabled features are tied to the key. Without a key the gateway can answer 403 with a plain JSON body ({"Message": "User is not authorized ..."}); a key that is unknown, revoked, or not enabled for v1 answers 401 invalid-api-key. No requests-per-second quota is published. Handle 429 and honor Retry-After when present. See Errors and retries for common errors and retry handling. Examples use mainnet token and contract addresses with placeholder wallets, hashes, signatures, and IDs. They are illustrative and must not be used to transfer funds.

Authorizations

x-api-key
string
header
required

Body

application/json
chainId
integer
required
target
object
required
permit2
object
required
signature
string
required
Required string length: 130 - 132

Response

Existing job for the same signature and target.

id
string
required
status
enum<string>
required
Available options:
pending,
processing,
published,
partial,
failed,
unknown
signatureHash
string
required
subStatuses
object[]
required
createdAt
integer
required
updatedAt
integer
required