whooshDeveloperOpen dashboard →

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.