The Gasless API is a separate product for sponsored approvals and swaps on routes where 10FI supports gasless execution. Users sign an off-chain intent; 10FI relays the order and resolvers settle on-chain. Wallets can show the network fee as free on supported routes.
Not every pair or chain supports gasless execution. If a route is not eligible, your integration should fall back to Swap API and normal network gas may apply.
Auth required on all /v1/gasless/* routes (X-Client-Id + X-API-Key). Default: ENABLE_GASLESS_API=0, executable: false, no broadcast.
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/gasless/quote | Capability + shadow quote; includes swapApiFallback when unsupported |
| POST | /v1/gasless/prepare | Mock toSign payload — no relay |
| POST | /v1/gasless/submit | Shadow accept only — signature not stored |
| GET | /v1/gasless/status/:id | Neutral shadow order status |
/v1/quote + /v1/swap + /v1/submit + /v1/status/:orderId when type: "gasless" wins on Swap API quote ranking.
/v1/gasless/quote — inspect capability, unsupportedReason, swapApiFallback./v1/gasless/prepare → user signs toSign./v1/gasless/submit → poll /v1/gasless/status/:id.curl -X POST "https://api.10fi.org/v1/gasless/quote" -H "Content-Type: application/json" \
-H "X-Client-Id: $TENFI_CLIENT_ID" -H "X-API-Key: $TENFI_API_KEY" \
-d '{ "chain":"bsc", "from":"USDC", "to":"BNB", "amount":"50", "userAddress":"0xYourWallet" }'
curl -X POST "https://api.10fi.org/v1/gasless/prepare" -H "Content-Type: application/json" \
-H "X-Client-Id: $TENFI_CLIENT_ID" -H "X-API-Key: $TENFI_API_KEY" \
-d '{ "quoteId":"gl_...", "chain":"bsc", "from":"USDC", "to":"BNB", "userAddress":"0xYourWallet" }'
permit — EIP-2612 where token supports it (e.g. USDC)permit2 — Permit2 signature flowrelayer — sponsored meta-tx (mock in Phase 6)nativeGasless — intent/resolver for wrapped nativeunsupported — use Swap API; user pays network gas/v1/gasless/* foundation is live in shadow mode (executable: false).swapApiFallback on quote when gasless unavailable.GET /v1/health → gaslessApi.Only the Gasless API product should use "gasless" or "zero gas" in user-facing copy. Full reference: /docs · Swap product: /docs/swap-api