v1 MCP server · REST API · OpenAPI

Ask Claude or ChatGPT about funding, spreads and your own trades

Paste one address into your assistant and sign in. It can then read funding rates and spreads on every exchange Arbitron supports, your own strategies, trades and PnL, and the knowledge base. It only reads, and each answer links to the page its numbers came from.

Server address
https://arbitron.app/mcp

Copy this address and add it to your assistant as a connector. Then sign in to Arbitron and click "Allow".

Works with

  • Claude
  • ChatGPT
  • Cursor
  • VS Code
Example conversation arbitron · connected

Where am I paid most to be short BTC right now, and where is a long cheapest?

arbitron_get_coin_funding(coin="BTC")

Blofin pays shorts the most right now, at +0.016961% per funding interval. The cheapest long is on Bitget, at −0.009%. Between the two that is a spread of 0.025961%.

↗ arbitron.app/funding-rates/coin/btc
What the assistant read application/json
{
  "data": {
    "coin": "BTC", "venue_count": 18, "spread_pct": 0.025961,
    "best_short_exchange": "Blofin",
    "best_long_exchange": "Bitget",
    "rates": [
      { "exchange": "Blofin", "symbol": "BTC-USDT", "rate_pct": 0.016961,
        "interval_hours": 8, "next_funding_at": "2026-11-05T00:00:00Z" },
      { "exchange": "Aster", "symbol": "BTC-USDT", "rate_pct": 0.01,
        "interval_hours": 8, "next_funding_at": "2026-11-05T00:00:00Z" },
      { "exchange": "Poloniex", "symbol": "BTC-USDT", "rate_pct": 0.009,
        "interval_hours": 8, "next_funding_at": "2026-11-05T00:00:00Z" },
      ... 15 more rows
    ]
  },
  "meta": {
    "as_of": "2026-11-04T20:16:28Z",
    "delayed_seconds": 0,
    "source": "arbitron.app",
    "url": "https://arbitron.app/funding-rates/coin/btc?utm_source=api"
  }
}
28
MCP tools
19
Venues
1,010
Coins with a funding page
19
Endpoints
Live: rendered from the snapshot the API serves right now. Reload the page and the numbers move with the market.

Ask in your own words

You never name a tool: the assistant picks one. The tools cover the market, your account and the knowledge base, and work in Claude, ChatGPT, Cursor or any other MCP client.

Market

  • What's the funding on BTC across exchanges right now?
  • Find the best spread trade for $500 a leg and give me the link to set it up.
  • What's listing on futures in the next few days?

When it finds a trade, it can give you a link to the strategy form, already filled in. Nothing is created until you confirm the form.

  • arbitron_search_coins
  • arbitron_get_funding_rates
  • arbitron_get_coin_funding
  • arbitron_get_funding_history
  • arbitron_get_spreads
  • arbitron_get_spread_backtest
  • arbitron_get_strategy_link
  • arbitron_get_listings
  • arbitron_get_exchanges
  • arbitron_get_usage

Your account

  • Why isn't my ETH strategy trading?
  • Compare my PnL this month with last month.
  • Show my balances and how close I am to liquidation.

Your account opens to the assistant only after you sign in with Arbitron and allow it. An API key pasted into an assistant never reads it.

  • arbitron_get_my_account
  • arbitron_get_my_cards
  • arbitron_get_my_card
  • arbitron_get_my_card_diagnosis
  • arbitron_get_my_trades
  • arbitron_get_my_pnl
  • arbitron_get_my_balances
  • arbitron_get_my_balance_history
  • arbitron_get_my_exchange_accounts
  • arbitron_get_my_leaderboard
  • arbitron_get_my_subscription

Learning

  • How does the close spread work?
  • Which permissions should my exchange API key have?
  • arbitron_search_docs
  • arbitron_read_doc
Starter questions built into the connection:briefwhy_cardfind_spreadcompare_funding
  • It only reads, so it can't place an order or change a strategy.
  • It never sees your exchange API keys or secrets.
  • On a consent screen you approve what it may read, and you can disconnect it at any time.

Connect a client

Chat apps sign in with your Arbitron account, so there is no key to paste. Editors and agents use the same address and sign in the same way, or take an API key in a header, which reads market data only.

  • Claude

    Open Claude

    Free, Pro and Max. In "Connectors", add a custom connector and paste the address.

  • ChatGPT

    Open ChatGPT

    Plus or Pro, with Developer mode on. Create an app, paste the address and choose OAuth.

Step-by-step setup for each assistant
claude mcp add --transport http arbitron https://arbitron.app/mcp

Claude Desktop and Cursor take this block as is. ChatGPT and Claude on the web sign in through OAuth instead and need no key, and only that sign-in can read your account.

Transport
Streamable HTTP
Streamable HTTP, stateless: no session to keep, every call stands alone. One tool call counts as one request against the same quotas as the REST API.
Authentication
OAuth 2.1 · API key
An API key as a bearer header for clients that take a static header, or OAuth 2.1 with PKCE: the assistant signs in with your Arbitron account and you approve the scopes on a consent screen.
Citation
meta.url
Every result carries meta.url, the human page for the same numbers. That page is what the assistant cites, and it is the same data.

Two minutes from a key to a response

Your own scripts read the same market data with a key sent as a bearer token, and every account comes with a free one. A key reads your account only if you create it with the account:read scope.

Get a free key
curl "https://arbitron.app/api/v1/spreads?size_usd=100&limit=3" \
  -H "Authorization: Bearer $ARBITRON_KEY"

Every endpoint, one envelope

Read-only JSON over HTTPS at https://arbitron.app/api/v1. Percentages end in _pct and are percent values, timestamps are UTC ISO 8601, lists page with a cursor. The full parameter and schema reference is generated from the OpenAPI document.

GET /api/v1/exchanges no scope Read the reference

The venues, with tracked instrument counts, maximum leverage, taker fee and links to their specs and funding pages.

Request
curl "https://arbitron.app/api/v1/exchanges?trading_enabled=true" \
  -H "Authorization: Bearer $ARBITRON_KEY"
Response 200
{
  "data": [
    {
      "exchange": "Binance",
      "name": "Binance",
      "icon_url": "https://arbitron.app/images/exchanges/binance.svg",
      "tracked_instruments": 512,
      "max_leverage": 125,
      "taker_fee_pct": 0.05,
      "trading_enabled": true,
      "has_spot": true,
      "fee_url": "https://www.binance.com/en/fee/futureFee",
      "specs_url": "https://arbitron.app/exchanges/binance",
      "funding_url": "https://arbitron.app/funding-rates/binance"
    }
  ],
  "meta": {
    "as_of": "2026-09-21T12:00:04Z",
    "delayed_seconds": 0,
    "source": "arbitron.app",
    "url": "https://arbitron.app/exchanges?utm_source=api",
    "count": 1,
    "total": 19
  }
}
What every response looks like datameta.as_ofmeta.delayed_secondsmeta.urlmeta.next_cursor Every error code →

The API comes with your Arbitron plan

These are the same plans you trade with on Arbitron, not separate API plans. Each one includes the REST API and the MCP server at the limits below, and a free account gets a delayed demo. Quotas are hard caps: a spent window answers 429, never an invoice.

Plans
Free account
$0 /mo

Every account gets the API demo, with delayed data.

Scanner
$39 /mo

See everything the machine sees. No execution.

TraderMost popular
$99 /mo

Your own server, your keys, live execution.

Prime
$299 /mo

More capacity, Multi-IP zones, higher limits, a direct line to the team.

The Arbitron plan
All scanners, full depth, no delay
Two-leg spread arbitrage
Dedicated server, running 24/7
API and MCPincluded in the plan
Requests per month3,000 30,000 100,000 500,000
Per minute2060120300
API keys12310
History depth7 days30 days180 daysEverything we hold
Data delay15 minLiveLiveLive
Commercial use
Create a keyChoose ScannerChoose TraderChoose Prime
Compare everything each plan includes

Demo data must be attributed to Arbitron with a link to the page it came from.

Frequently Asked Questions

Can the assistant trade for me?

No. Every tool only reads: an assistant can't place an order, start or stop a strategy, or move funds. Trading stays in the Arbitron terminal and follows the settings you choose there.

Do assistants need a key?

No. Claude, ChatGPT and other MCP clients sign in with your Arbitron account through OAuth, and you approve the scopes on a consent screen. Clients that take a static header, such as Cursor, can use a key on the MCP endpoint instead. Either way the calls meter against the same plan.

Is there a free tier?

Yes. Every account holds a Demo key: 3,000 requests a month, 20 a minute, and data 15 minutes behind the live snapshot. Create it on the AI assistants & API page. No card and no plan needed.

Why is Demo data delayed?

The Demo tier reads a snapshot 15 minutes old. That is enough to build against and to show an assistant the shape of the data, and useless to trade on. Paid plans read the live snapshot, which refreshes every minute.

Can I use the data commercially?

Commercial use is included in Prime. Scanner, Trader covers personal and internal use, and Demo data must be attributed to Arbitron with a link to the page it came from.

How are keys stored?

We keep a keyed hash, never the key. The plaintext is shown once at creation and cannot be shown again; the console lists the prefix so you can tell keys apart. Authorization headers are never written to logs.

How do I rotate a key?

Rotate it on the AI assistants & API page: a new key is issued and the old one keeps working for 24 hours, so nothing goes dark mid-deploy. Revoke stops a key at once. Keys expire after a year.

Do 304 responses count against my quota?

No. A conditional request whose ETag still matches moves no data, so it is refunded on both the minute and the month window. Cache the ETag and send If-None-Match.

What happens when I hit a limit?

You get 429 with Retry-After and the RateLimit header naming the spent window. Nothing is billed as overage, and the month resets on the 1st at 00:00 UTC. A higher plan has larger windows.

Ask your first question

Connecting takes a minute and works on a free account, where market data runs 15 min behind. Your own scripts read the same market data with a key.

$ claude mcp add --transport http arbitron https://arbitron.app/mcp

Reconnecting…

Retrying in s…

Reconnecting…

Arbitron is updating. Back in a few seconds…

No internet connection. Waiting to reconnect…

Session paused

Reloading…

Something went wrong on this page. Arbitron is updating. This page will reload itself once the new version is up… No internet connection. Waiting to reconnect… Reload