Build with Whoosh
Your first integration.
Generate a key in your dashboard, then use the same key for the REST API or hosted MCP. Your integration signs transactions through its own wallet.
1. Get your key
Sign in with your wallet and generate a named API key. Copy the full key when it appears; only its masked preview is available afterwards. You can revoke it immediately from the dashboard.
2. Make a read-only request
Send your key in the X-API-Key header. Never put it in a URL or publish it in browser code.
curl https://api.usewhoosh.xyz/v1/capabilities -H "X-API-Key: YOUR_API_KEY"
Responses use {"data": ...} for success or {"error":{"code":"...","message":"..."}} for errors.
3. Choose REST or MCP
REST API
Base URL: https://api.usewhoosh.xyz
Discover available chains, sources and privacy modes before requesting a live quote.
OpenAPI specification ↗Hosted MCP
Endpoint: https://api.usewhoosh.xyz/mcp
Use a client that supports Streamable HTTP and custom headers. Supply the API key in its X-API-Key connection header.
{
"mcpServers": {
"whoosh": {
"url": "https://api.usewhoosh.xyz/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}Client configuration formats vary; the endpoint and header are the required connection details. For command-based clients, build cmd/whoosh-mcp from the Whoosh backend and set WHOOSH_API_URL and WHOOSH_API_KEY.
Trading workflows
Swaps: POST /v1/quote → POST /v1/swap
Sweeps: POST /v1/sweep → POST /v1/sweep/swap when compatible
Bridges: discover /v1/bridge/modes → sources → destinations → quote → swaps
Solana: POST /v1/solana/quote → swap → sign → submit
Limit orders: discover /v1/limit-orders/config → publish a wallet-signed order
Private bridges are available only on discovered, supported routes. Set privacy: "private" when requesting those routes. Bridge delivery is tracked separately from the funding transaction.
Your API key does not sign transactions or authorize spending. Wallet approvals, signatures, recipients and slippage remain under your integration’s control.
Complete endpoint reference ↗Limits and usage
Your dashboard shows the active account limits and remaining allowance. All your active keys share that allowance. Rate limits reset each minute and are enforced across backend instances.
Inspect RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. On 429, wait for the Retry-After duration before retrying.
Usage includes successful and failed API/tool requests. MCP initialization and discovery traffic are reported separately as protocol requests. History is available for the last 30 days. Revoke a key if it is exposed; revoking preserves its usage history.