Generate EVM token approval transaction
Generates an unsigned ERC20 approve() transaction that enables gasless offramps
on EVM chains. When this feature is enabled for your organization, EVM offramp
transactions no longer require the user to hold native gas tokens (e.g., ETH on Base)
for the cross-chain bridging fee — Etherfuse covers the bridging cost and bundles it
into the offramp fee.
This approval must be completed before creating an offramp order via
POST /ramp/order for EVM wallets with this feature enabled. If the user has not
approved, the offramp transaction will fail on-chain.
Prerequisites:
- This feature must be enabled for your organization. Contact Etherfuse to enable sponsored EVM offramps for your org and sub-orgs.
- The user must have a registered EVM wallet on a supported chain.
Flow:
- Call this endpoint to get the approval transaction
- Have the user sign and submit the transaction in their wallet
- Once confirmed, create the offramp order via
POST /ramp/order
Approval amount options:
- Omit
amount(recommended): Approves for an unlimited amount. The user only needs to do this once per token per chain, and all future offramps will work without needing another approval. - Pass
amount: Approves for a specific amount in base units. The amount should match what you plan to offramp. After the offramp, the approval is consumed and you will need to call this endpoint again before the next offramp.
If the user has already approved a sufficient amount, the endpoint returns
"transaction": null with a message indicating no approval is needed.
The amount field is in base units (e.g., for a token with 6 decimals,
pass 10000000 for 10 tokens).
Documentation Index
Fetch the complete documentation index at: https://docs.etherfuse.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key for authentication. Pass the key directly (e.g., Authorization: your-api-key). Do not use a Bearer prefix.
Body
The EVM chain to approve on
base "base"
The user's EVM wallet address
^0x[a-fA-F0-9]{40}$"0xf82567432381D1326484E5A9140ABCa4294f82D0"
The token contract address to approve
^0x[a-fA-F0-9]{40}$"0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29"
Amount to approve in base units (token smallest denomination).
For a token with 6 decimals, 10000000 = 10 tokens.
If omitted, approves for the maximum amount (recommended for one-time approval).
"10000000"
Response
Approve transaction generated (or already approved)