Execute ERC-20 Permit
Submit a signed EIP-2612 permit and have the facilitator’s signer execute transferWithPermit on the Meridian Proxy Facilitator contract. The user signs the permit off-chain; the facilitator pays the gas to apply the permit and transfer value tokens from owner to recipient.
permit() transfers. Permit2 payments use
POST /v1/settle with the Permit2
payment payload.Authentication
Requires an API key passed asAuthorization: Bearer <api-key>.
Request Body
Facilitator contract addresses
Response
Success
Error
Error Codes
503 responses include Retry-After: 30. They are fail-closed: the
facilitator does not broadcast a transaction when the profitability check
fails.Authorizations
Body
EVM network identifier. Must be one of the facilitator's configured EVM networks (e.g. ethereum, base, arbitrum, bsc, bot-chain, base-sepolia, bot-chain-testnet, optimism, optimism-sepolia, polygon, unichain, ink, tempo, monad, robinhood, worldchain, hyperevm, megaeth, fluent-testnet, etc.).
"base-sepolia"
Token owner address (the signer of the EIP-2612 permit). Tokens are pulled from this address.
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b8D0c4E5e6C2aE7A3e"
Spender address authorized by the permit signature. Required by the request schema. The on-chain transferWithPermit call uses the facilitator contract as the spender; this field is forwarded for signing-side compatibility.
^0x[a-fA-F0-9]{40}$"0x8e633dBf31adCc7D41BE3e95B7c8DD3526B5235A"
uint256 token amount as a decimal string in the token's smallest unit (e.g. 1000000 = 1 USDC at 6 decimals). Numbers and bigints are accepted and coerced to a decimal string.
^\d+$"1000000"
uint256 permit deadline as a decimal Unix timestamp string. Numbers and bigints are accepted and coerced to a decimal string.
^\d+$"1893456000"
Address that receives the transferred tokens after the permit is applied.
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b8D0c4E5e6C2aE7A3e"
Optional ERC-20 token address. Defaults to the selected network's configured USDC address when omitted.
^0x[a-fA-F0-9]{40}$"0x036CbD53842c5426634e7929541eC2318f3dCF7e"
Optional 65-byte EIP-2612 permit signature, hex-encoded. Provide this OR (v, r, s), but not both.
^0x[a-fA-F0-9]+$"0x..."
Optional v byte of the signature. Use the token's expected recovery value, normally 27 or 28.
0 <= x <= 255Optional 32-byte hex r component, with or without a leading 0x.
Optional 32-byte hex s component, with or without a leading 0x.
Response
Permit transaction submitted
true only when the on-chain transaction was submitted successfully.
Transaction hash on success. Empty string ("") on every error response.
Echoes the network from the request (or "" if the request body could not be parsed).
Present on error responses only.
invalid_request, unsupported_network, network_not_configured, invalid_signature, gas_cost_exceeds_fee, gas_price_check_failed, gas_price_configuration_error, permit_execution_failed