Token discovery
GET /api/v1/swap/tokens returns the canonical verified starter registry. GET /api/v1/swap/tokens/:address resolves one custom Robinhood mainnet ERC-20 from onchain code and metadata without adding it to the verified list. “Verified” means admitted to Feather Fi's list, not safe or audited; custom imports remain explicitly unverified.
Executable quote
POST /api/v1/swap/quote returns a short-lived route only when it is safe to expose as executable. Responses are no-store. The taker must be the wallet that will submit the transaction.
curl -sS https://www.featherfi.finance/api/v1/swap/quote \
-H 'content-type: application/json' \
--data '{
"chainId": 4663,
"sellToken": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"buyToken": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"sellAmount": "10000000000000",
"slippageBps": 100,
"taker": "0x1111111111111111111111111111111111111111"
}'A successful response includes normalized token metadata, amounts, minimum received, gas estimate, route fills, disclosed fee, allowance target, exact transaction fields, observations, expiry, and executable: true.
Intent-driven requests
Feather Fi does not request prices while a user types or automatically refresh expired responses. Clients should request one executable quote only after an explicit Swap action and after any required exact approval confirms.
Readiness
GET /api/v1/swap/status reports the public kill-switch state, configuration readiness, and mainnet RPC health. A non-2xx response must be treated as unavailable.
Safety rules
- Never submit provider transaction fields without re-validating target, calldata, value, fee, taker, pair, chain, and expiry.
- Simulate the exact request immediately before signature.
- Persist the transaction hash before waiting for a receipt and block duplicate submissions across tabs.
- Honor
429,Retry-After,503, and the kill switch. - Do not place private keys or the 0x provider credential in browser code.
The public API is beta infrastructure and may be rate-limited, narrowed, or paused without notice.
