Swap API
Raw HTTP. Three calls, no dependencies, no key.
Read the three calls →Everything you need to ship, and nothing to ask permission for first. The base URL is https://app.ravn.exchange/api/v1.
No key, no account, no proxy. Paste this into a terminal and it answers.
curl -X POST https://app.ravn.exchange/api/v1/quote \
-H 'content-type: application/json' \
-d '{"inputChainId":8453,"outputChainId":42161,
"inputToken":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"outputToken":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"inputAmount":"100000000",
"userAddress":"0xYourAddress"}'Quote, execute, status. Market-maker routes add one signature call in the middle.
POST /quote races every eligible venue. You get the winner, a quoteToken (a sealed receipt for that exact quote), and every losing route in alternatives.POST /execute turns that token into a payload, tagged TRANSACTION, SIGNATURE or DEPOSIT.POST /submit-signature, only on SIGNATURE routes. The user signs a message, you hand it back, and we submit it.GET /status reports progress in one shape, whichever venue is underneath.Raw HTTP. Three calls, no dependencies, no key.
Read the three calls →TypeScript, React and Python. All MIT. The core and Python clients have zero dependencies.
Install a package →A hosted swap UI in an iframe. Ten theming fields, no CSS.
Embed the widget →An MCP server with ten tools, and x402 pay-per-call. Neither needs an account.
Let your agent swap →Your users pay us nothing, ever. Set your own fee, up to 100 bps (1%), on your key. We collect it, keep 40%, and pay you the rest.
Set sandbox: true on a quote and run the whole flow with no real funds and no metering, with the same requests and responses as live. Sandbox execute skips Chainflip and THORChain from Bitcoin.
Add a webhookUrl to your key and we push your service an event when a swap settles, refunds or fails.
Machine-readable codes on every failure, and a requestId on every response.
GET /health is public and unauthenticated. Point your own monitoring straight at it.