{
  "data": {
    "a": {
      "slug": "bitfinex",
      "name": "Bitfinex API",
      "vendor": "iFinex Inc.",
      "vendorUrl": "https://www.bitfinex.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bitfinex's v2 API for spot, margin, derivatives and peer-to-peer funding, with balances, deposits and withdrawals, through REST and WebSocket with scoped API keys, paper-trading sub-accounts and official Node, Python, Go and Ruby clients.",
      "url": "https://www.anchorterminal.com/tools/bitfinex",
      "markdownUrl": "https://www.anchorterminal.com/tools/bitfinex.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bitfinex.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bitfinex.json",
      "dns": "bitfinex.grade.anchorterminal.com",
      "repo": "https://github.com/bitfinexcom/bitfinex-api-node",
      "license": "Proprietary hosted API under Bitfinex's API Terms of Service, which our reader couldn't load. The official client libraries (Node, Python, Go, Ruby) are MIT or Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "bitfinex-api-node"
        },
        {
          "registry": "pypi",
          "name": "bitfinex-api-py"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key and secret made at setting.bitfinex.com/api after a browser signup, with 2FA and an email confirmation, shown once. Each key carries read and write permissions per scope (account, history, orders, positions, funding, settings, wallets, withdraw, ui_withdraw, bfxpay), readable back from `POST /v2/auth/r/permissions`, and keys are revoked from the same page; a strictly increasing nonce per key. Bitfinex's support article on keys says a key can be bound to up to 20 IP addresses, per the search result's text, since the article itself answered 403 (https://docs.bitfinex.com/docs/requirements-and-limitations, https://docs.bitfinex.com/reference/key-permissions, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API itself costs nothing. The fees page read on 3 November 2026 shows zero maker and zero taker fees for exchange, margin and derivatives order execution with no volume tiers, margin funding lender fees of 15% of interest (18% when the offer is hidden) with up to 5% off for LEO holders, a 5% takeover fee, free crypto deposits and bank wire 0.1% (minimum 60 for deposits, 100 for withdrawals, USD or EUR). Paper trading on a sub-account needs no money (https://www.bitfinex.com/fees, checked 2026-11-03).",
      "priceSummary": "0% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, llms.txt or fees page (checked 2026-11-03). Fees are taken from the account; onboarding is a browser signup.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 480,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.bitfinex.com",
      "llmsTxt": "https://docs.bitfinex.com/llms.txt",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "official",
        "hosted",
        "api-key",
        "llms-txt",
        "sandbox",
        "status-page",
        "javascript",
        "python",
        "go",
        "ruby",
        "usage-priced"
      ],
      "lastRelease": "2026-07-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.4,
        "grade": "C",
        "agentReady": false,
        "rank": 687,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 41,
          "payments": 40,
          "reliability": 85,
          "schema": 48,
          "security": 62,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Bitfinex gives an agent scoped keys with a separate withdraw permission, paper-trading sub-accounts on the production API, llms.txt and official clients in four languages. There is no official MCP server, responses are positional arrays with empty error bodies, rate limits run 10 to 90 a minute per IP, and the terms, API terms and privacy statement could not be read.",
        "bestFor": "An agent trading spot, margin or derivatives, or lending on the funding market, with scoped keys, official clients and paper trading.",
        "strengths": [
          "Per-scope read and write permissions on each key, including a separate `withdraw` scope, readable back from the permissions endpoint",
          "Paper trading on a sub-account against test symbols on the same production API, with no money at risk",
          "llms.txt with a Markdown twin of every docs page, and official Node, Python, Go and Ruby clients",
          "Rate limits, connection limits and the `ERR_RATE_LIMIT` response documented with numbers",
          "A Statuspage history going back to 2021 and a fees page without login"
        ],
        "weaknesses": [
          "No official MCP server, OpenAPI file or AsyncAPI file; the registry's Bitfinex servers are third parties proxying public market data",
          "Responses are positional arrays and authenticated errors answer 400 with an empty object, so an agent must map indexes and guess causes",
          "Rate limits of 10 to 90 requests a minute per IP with a 60-second block and no Retry-After",
          "The Exchange Terms, API Terms of Service, privacy statement and support articles could not be read, so the bot clauses, retention and restricted countries are unchecked",
          "The docs changelog stops at October 2024 and the v1 deprecation has no date"
        ],
        "agentNotes": [
          "Mint a key with read on the scopes the task needs and write only on `orders`; never grant `withdraw` to a trading key, and bind the key to known IPs",
          "Use one key per client process, since each key keeps its own strictly increasing nonce and a reused nonce is rejected",
          "Rehearse on a paper-trading sub-account with the TEST symbols before touching real balances; the sub-account cannot be converted later",
          "Plan requests against the per-endpoint limit of 10 to 90 a minute per IP; `ERR_RATE_LIMIT` blocks the IP for 60 seconds with no Retry-After",
          "Map each response by position from the docs' field tables and set a `cid` on orders, because responses are arrays and a 400 carries no reason"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.4
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 41,
          "payments": 40,
          "reliability": 85,
          "schema": 48,
          "security": 62,
          "transparency": 13
        },
        "provenanceScore": 85,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install bitfinex-api-node",
        "http": "curl https://api-pub.bitfinex.com/v2/ticker/tBTCUSD"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bitfinex"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Exchange maker fee, as shown on 3 November 2026",
          "unit": "pct",
          "usd": 0,
          "note": "no tiers or date shown; reads as a promotion"
        },
        {
          "item": "Exchange taker fee, as shown on 3 November 2026",
          "unit": "pct",
          "usd": 0,
          "note": "no tiers or date shown; reads as a promotion"
        },
        {
          "item": "Margin funding lender fee on interest earned",
          "unit": "pct",
          "usd": 15,
          "note": "18% when the offer is hidden, up to 5% off for LEO holders"
        }
      ],
      "provenance": {
        "legalEntity": "iFinex Inc.",
        "domain": "bitfinex.com",
        "domainRegistered": "2012-10-11",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bitfinex.com/legal/exchange/terms/",
        "privacy": "https://www.bitfinex.com/legal/privacy/",
        "statusPage": "https://bitfinex.statuspage.io",
        "changelog": "https://docs.bitfinex.com/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "iFinex Inc. is named only in the copyright line of bitfinex.com; the Exchange Terms, API Terms of Service and privacy statement pages draw their text by script and loaded only navigation, so the contracting entity and its jurisdiction are unconfirmed.",
          "RDAP gives bitfinex.com a registration date of 11 October 2012.",
          "https://www.bitfinex.com/.well-known/security.txt returns 404.",
          "www.bitfinex.com/robots.txt allows the pages read; docs.bitfinex.com allows all and points to llms.txt; bitfinex.statuspage.io disallows /api/ and /embed/, so the history feed was read. support.bitfinex.com's robots.txt allows articles but the articles answered 403.",
          "The docs changelog's latest entry is 16 October 2024; the API clients carry the recent releases."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bitfinex.json",
      "live": {
        "slug": "bitfinex",
        "vendorStatus": {
          "page": "https://bitfinex.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:04:41.688156046Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "bitfinexcom/bitfinex-api-node",
            "version": "4.0.15",
            "released": "2020-07-02",
            "seenAt": "2026-11-04T20:02:46.845797373Z"
          },
          {
            "registry": "npm",
            "name": "bitfinex-api-node",
            "version": "9.1.0",
            "seenAt": "2026-11-04T20:02:45.764784853Z"
          },
          {
            "registry": "pypi",
            "name": "bitfinex-api-py",
            "version": "4.0.0",
            "released": "2025-10-18",
            "seenAt": "2026-11-04T20:02:46.619664479Z"
          }
        ],
        "githubStars": 480,
        "npmWeekly": 6284,
        "pypiWeekly": 832,
        "securityTxt": {
          "url": "https://bitfinex.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:26.210646703Z"
        },
        "updatedAt": "2026-11-04T20:04:41.688156046Z"
      }
    },
    "answer": "Bitfinex API scores 58.4 (C) on agent readiness against Hyperliquid's 50 (D), and leads in 4 of 7 scored categories. Hyperliquid leads on agent ergonomics and payments \u0026 pricing.",
    "b": {
      "slug": "hyperliquid",
      "name": "Hyperliquid",
      "vendor": "Hyperliquid Labs",
      "vendorUrl": "https://hyperliquid.xyz",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Hyperliquid is a perpetuals and spot exchange whose order book runs on its own chain. Agents trade through the REST info and exchange endpoints and WebSocket at api.hyperliquid.xyz, signing with a wallet key or an approved API wallet.",
      "url": "https://www.anchorterminal.com/tools/hyperliquid",
      "markdownUrl": "https://www.anchorterminal.com/tools/hyperliquid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hyperliquid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hyperliquid.json",
      "dns": "hyperliquid.grade.anchorterminal.com",
      "repo": "https://github.com/hyperliquid-dex/hyperliquid-python-sdk",
      "license": "The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "hyperliquid-python-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "No API keys. Every exchange action is a signed message from an EVM wallet; info requests need no signature. A master account approves API wallets (agent wallets) with `approveAgent`, optionally named and with an expiry, which can only sign on its behalf and cannot query data. L1 actions (orders, cancels, margin settings) and user-signed actions (USDC and spot sends, withdrawals, approvals) use two different EIP-712 schemes, and the docs recommend an SDK for signing. Nonces are per signer, must sit within two days behind and one day ahead of block time, and sub-accounts signed by one API wallet share its nonce set (https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/nonces-and-api-wallets.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API has no charge. Base-tier fees are 0.045% taker and 0.015% maker on perpetuals and 0.070% taker and 0.040% maker on spot, assessed on rolling 14-day volume, falling to 0.024% taker and 0% maker above $7 billion, with maker rebates to -0.003% for large maker share and staking discounts of 5% to 40%. Withdrawals to the bridge cost $1; an activation gas fee applies to a first order. `reserveRequestWeight` buys extra rate limit at 0.0005 USDC a request (https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees.md, checked 2026-11-03).",
      "priceSummary": "0.04% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs (checked 2026-11-03). Accounts are funded by depositing USDC on Arbitrum or other bridged chains; several third-party MCP servers in the registry sell Hyperliquid data by x402, none of them Hyperliquid's.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 1873,
        "npmWeekly": null,
        "pypiWeekly": 167497,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api",
      "llmsTxt": "https://hyperliquid.gitbook.io/hyperliquid-docs/llms.txt",
      "capabilities": [
        "exchange.derivatives",
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto",
        "wallet.onchain"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "llms-txt",
        "python",
        "rust",
        "sandbox",
        "usage-priced",
        "no-key",
        "no-status-page",
        "bug-bounty",
        "rest"
      ],
      "lastRelease": "2026-06-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50,
        "grade": "D",
        "agentReady": false,
        "rank": 1018,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 19,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 39,
          "payments": 55,
          "reliability": 40,
          "schema": 42,
          "security": 64,
          "transparency": 26
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK.",
        "bestFor": "An agent trading perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.",
        "strengths": [
          "API wallets approved by the master account can only sign trading actions; withdrawals and external transfers need the user's own key",
          "Numeric rate limits per IP and per address, with weights per request type and a paid `reserveRequestWeight` top-up",
          "Fees published per tier from 0.045% taker and 0.015% maker on perpetuals, with maker rebates and staking discounts",
          "A testnet at api.hyperliquid-testnet.xyz with the same API and a faucet of 1,000 mock USDC for addresses that have deposited on mainnet",
          "Client order IDs (`cloid`), `expiresAfter`, `noop` and a `scheduleCancel` dead man's switch for safe retries"
        ],
        "weaknesses": [
          "No official MCP server; the 23 registry entries are all third parties, several selling data by x402",
          "No OpenAPI file, no changelog, no API versioning and no status page found",
          "The terms of use and privacy policy at app.hyperliquid.xyz draw by script and hyperliquid.xyz/terms answered 403, so the restricted jurisdictions are unchecked",
          "Order errors are message strings without codes, and the docs give no 429 or Retry-After guidance beyond one request every 10 seconds when limited",
          "The official Python SDK is marked Alpha, last released 4 June 2026, with 112 open issues"
        ],
        "agentNotes": [
          "Generate a fresh API wallet, approve it with `approveAgent` with a name and expiry, sign with it, and query with the master address, never the agent address",
          "Use the Python SDK's `sign_l1_action` and `sign_user_signed_action`; mixing the two, field order in msgpack or an uppercase address gives \"User or API Wallet ... does not exist\"",
          "Set a `cloid` on every order and read the per-order `statuses` array; one batch-level error rejects the whole batch",
          "Budget address limits by volume (one action per 1 USDC traded after 10,000); batch orders to lower IP weight, and use WebSocket for data",
          "Arm `scheduleCancel` before unattended trading so open orders are cancelled if the agent stops"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 39,
          "payments": 55,
          "reliability": 40,
          "schema": 42,
          "security": 64,
          "transparency": 20
        },
        "provenanceScore": 32,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install hyperliquid-python-sdk",
        "http": "curl -X POST https://api.hyperliquid.xyz/info -H 'Content-Type: application/json' -d '{\"type\":\"l2Book\",\"coin\":\"BTC\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.derivatives",
        "tool": "https://letme.dev/hyperliquid"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Perpetuals taker fee, tier 0",
          "unit": "pct",
          "usd": 0.045,
          "note": "0.045% of notional; maker 0.015%"
        },
        {
          "item": "Spot taker fee, tier 0",
          "unit": "pct",
          "usd": 0.07,
          "note": "0.070% of notional; maker 0.040%"
        },
        {
          "item": "Bridge withdrawal",
          "unit": "tx",
          "usd": 1,
          "note": "$1 per withdrawal to the bridge contract"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "hyperliquid.xyz",
        "domainRegistered": "2022-10-15",
        "endpointOnVendorDomain": true,
        "terms": "https://app.hyperliquid.xyz/terms",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "No legal entity found on a readable page. The docs name Hyperliquid Labs (self-funded) and the Hyper Foundation (bug bounty); app.hyperliquid.xyz/terms and hyperfoundation.org draw by script and hyperliquid.xyz/terms answered 403.",
          "RDAP gives hyperliquid.xyz a registration date of 15 October 2022, registrar Squarespace Domains.",
          "No status page found; status.hyperliquid.xyz did not resolve and the docs link none. No changelog; the docs have no dated release notes.",
          "https://hyperliquid.xyz/.well-known/security.txt answered 403, so security.txt is unknown. The docs' bug bounty page gives bugbounty@hyperfoundation.org.",
          "hyperliquid.gitbook.io/robots.txt allows everything with Content-Signal ai-input=yes; hyperliquid.xyz/robots.txt allows everything."
        ],
        "score": 32
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/hyperliquid.json",
      "live": {
        "slug": "hyperliquid",
        "securityTxt": {
          "url": "https://hyperliquid.xyz/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:54:05.956872316Z"
        },
        "updatedAt": "2026-11-04T15:54:05.956872316Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "category": "reliability",
        "leads": "bitfinex",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines on the v2 API at api.bitfinex.com. bitfinex.statuspage.io is a Statuspage site with history back to May 2021 (20). Its feed has no entry between 25 March 2026 and 3 November 2026, so the last 90 days are clean on the record; the feed logs platform-wide outages only (a 14-hour maintenance in March 2026, a 3-hour outage in August 2025), so smaller incidents may go unrecorded. Judgement call (30). Rate limits with numbers, 10 to 90 a minute per IP and the WebSocket connection limits (15). `ERR_RATE_LIMIT` and the 60-second block are documented, with no Retry-After; orders take a `cid` but no idempotency key or retry guidance was found (10 of 15). No SLA found (0). Generally available (10). 20 + 30 + 15 + 10 + 0 + 10 = 85.",
          "b": "Read with the hosted lines on the REST API at api.hyperliquid.xyz, the surface an agent calls; the chain behind it is noted under details. No status page found in the docs, on hyperliquid.xyz or at status.hyperliquid.xyz, which did not resolve (0). No readable history (5). Rate limits documented with numbers per IP, per address and per WebSocket connection (15). When limited, an address gets one request every 10 seconds; no 429 shape or Retry-After is documented, but `cloid`, per-signer nonces, `expiresAfter` and `noop` make retries safe (10 of 15). No SLA (0). Mainnet is generally available (10). 0 + 5 + 15 + 10 + 0 + 10 = 40."
        },
        "scores": {
          "a": 85,
          "b": 40
        }
      },
      {
        "by": 23,
        "category": "transparency",
        "leads": "bitfinex",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose Exchange Terms and API Terms of Service loaded only navigation, so the licence terms are unknown; the clients are MIT and Apache-2.0 (8 of 30). The privacy statement loaded only navigation, so retention and data handling are unchecked (0 of 30). The docs say v1 will be deprecated \"at some point in the future\" with no date, and the Python client's 4.0.0 removed endpoints with a release note (5 of 20). Subprocessors and data locations are in the unread privacy statement (0). 8 + 0 + 5 + 0 = 13.",
          "b": "The editorial half. The SDKs are MIT and the node repository Apache-2.0 with a Dockerfile around a binary; the API servers and front end are closed and the terms were unreadable (12 of 30). No privacy policy read and nothing in the docs on data handling (0 of 30). Deprecated actions are marked in the docs without dates or a policy (8 of 20). No subprocessors or data locations (0 of 20). Total 20."
        },
        "scores": {
          "a": 49,
          "b": 26
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "hyperliquid",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The fees page is public without login (20), though it shows zero maker and taker with no tiers or date. The API is free, public endpoints need no account, and paper trading needs no money (20). A person must sign up in a browser with identity checks and mint the key (0). 0 + 20 + 20 + 0 = 40.",
          "b": "No machine payment protocol (0). Fees published per tier without login (20). No card anywhere; public info endpoints are free and the testnet faucet gives 1,000 mock USDC, though only to an address that has deposited on mainnet (15 of 20). No signup; an agent with a funded EVM wallet deposits USDC on a bridged chain and trades, subject to the unread terms (20). Total 55."
        },
        "scores": {
          "a": 40,
          "b": 55
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "hyperliquid",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the REST API. Limits on trades, candles and book depth, and `pub:list` config endpoints keep responses small, but positional arrays make every field a lookup (14 of 25). `start`, `end`, `limit` and `sort` on history endpoints and per-symbol variants (16 of 20). `ERR_RATE_LIMIT` is actionable; authenticated 400s return `{}` and withdrawal status strings may change, so an agent cannot branch on causes (8 of 20). A client id on orders, order multi-op and cancel-multiple, but no idempotency key and no retry contract (8 of 20). Few required parameters and official clients in Node, Python, Go and Ruby (15). 14 + 16 + 8 + 8 + 15 = 61.",
          "b": "An API, read for response sizing. Time-range calls return at most 500 blocks of data, fills and historical orders cap at 2,000 items, candles at 5,000, l2Book at 20 levels a side (18 of 25). Cursor-by-timestamp pagination on fills and funding, filtering by coin or dex, no field selection (14 of 20). Order errors are documented strings per order, one batch-level error rejects a batch, and `orderStatus` answers `unknownOid`; no codes and no rate-limit error shape (12 of 20). `cloid`, per-signer nonces within a time window, `expiresAfter`, `noop` to burn a nonce and `scheduleCancel` as a dead man's switch (18 of 20). Few required fields, but signing needs msgpack field order, two EIP-712 schemes and lowercase addresses, and the official SDKs are Python (Alpha) and Rust only (8 of 15). Total 70."
        },
        "scores": {
          "a": 61,
          "b": 70
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "bitfinex",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or AsyncAPI file was found on docs.bitfinex.com, in llms.txt or in the client repositories (0). llms.txt and a .md twin of every docs page (10). Each reference page states the endpoint's purpose and fields, and the introduction says when to use api-pub against api, but nothing says when not to use an endpoint (14 of 20). Responses are positional arrays described in field tables, inputs are typed in prose with some enumerations (wallet names, order types) and required fields marked; the withdrawal CODE field is work in progress (7 of 15). Signed-request recipes in five languages, but authenticated errors are documented as 400 with an empty object and there is no error reference (9 of 15). Version v2 in the path and a dated changelog, whose last entry is October 2024 and whose v1 deprecation has no date (8 of 15). 0 + 10 + 14 + 7 + 9 + 8 = 48.",
          "b": "No OpenAPI or other machine-readable contract; request and response shapes are tables and JSON examples in the docs (0 of 25). llms.txt and a Markdown twin of every page by appending .md (10). Each info type and exchange action has a short description of what it does, and the signing page lists common mistakes, but little says when to use one call over another (12 of 20). Fields are one-letter keys (`a`, `b`, `p`, `s`, `r`, `t`, `c`) with numbers as strings, enums such as `tif` Alo, Ioc or Gtc, and required fields marked in tables (9 of 15). An example for every call and a list of order and cancel error strings, with no HTTP error table (11 of 15). No API version, no changelog and no dated release notes; deprecated actions such as `userDexAbstraction` are marked in place (0 of 15). Total 42."
        },
        "scores": {
          "a": 48,
          "b": 42
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "iFinex Inc.",
        "b": "Hyperliquid Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted API under Bitfinex's API Terms of Service, which our reader couldn't load. The official client libraries (Node, Python, Go, Ruby) are MIT or Apache-2.0",
        "b": "The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-18",
        "b": "2026-06-04",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "480 stars",
        "b": "1.9k stars, 167k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Bitfinex API scores 58.4 (C) on agent readiness against Hyperliquid's 50 (D), and leads in 4 of 7 scored categories. Hyperliquid leads on agent ergonomics and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Bitfinex API or Hyperliquid?"
      },
      {
        "answer": "Bitfinex API needs an API key. Hyperliquid takes an API key or an OAuth sign-in.",
        "question": "Do Bitfinex API and Hyperliquid need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Bitfinex API. No hosted endpoint is listed for Hyperliquid.",
        "question": "Can an agent call Bitfinex API and Hyperliquid without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 40",
          "Schema \u0026 documentation, 48 against 42",
          "Transparency \u0026 trust, 49 against 26"
        ],
        "also": null,
        "goodFor": "An agent trading spot, margin or derivatives, or lending on the funding market, with scoped keys, official clients and paper trading.",
        "slug": "bitfinex",
        "watchFor": "No official MCP server, OpenAPI file or AsyncAPI file; the registry's Bitfinex servers are third parties proxying public market data"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 70 against 61",
          "Payments \u0026 pricing, 55 against 40"
        ],
        "also": null,
        "goodFor": "An agent trading perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.",
        "slug": "hyperliquid",
        "watchFor": "No official MCP server; the 23 registry entries are all third parties, several selling data by x402"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bitget.json",
        "title": "Bitfinex API vs Bitget",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bitget"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.json",
        "title": "Bitfinex API vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bithumb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp.json",
        "title": "Bitfinex API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bybit.json",
        "title": "Bitfinex API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bybit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.json",
        "title": "Bitfinex API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-mcp.json",
        "title": "Bitfinex API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-crypto-com-exchange.json",
        "title": "Bitfinex API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-deribit.json",
        "title": "Bitfinex API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-dydx.json",
        "title": "Bitfinex API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-gate-io.json",
        "title": "Bitfinex API vs Gate",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.json",
        "title": "Bitfinex API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-htx.json",
        "title": "Bitfinex API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-kraken.json",
        "title": "Bitfinex API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.json",
        "title": "Bitfinex API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-mexc.json",
        "title": "Bitfinex API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-okx.json",
        "title": "Bitfinex API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.json",
        "title": "Bitfinex API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-upbit.json",
        "title": "Bitfinex API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-hyperliquid.json",
        "title": "Bitget vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.json",
        "title": "Bithumb Open API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid.json",
        "title": "Bitstamp API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-hyperliquid.json",
        "title": "Bybit vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-hyperliquid.json",
        "title": "Crypto.com Exchange API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid.json",
        "title": "Gate vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.json",
        "title": "Gemini Exchange API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid.json",
        "title": "HTX trading API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.json",
        "title": "Hyperliquid vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-bitfinex.json",
        "title": "Binance API vs Bitfinex API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bitfinex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-hyperliquid.json",
        "title": "Binance API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/binance-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.json",
        "title": "Coinbase Advanced Trade API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.json",
        "title": "Hyperliquid vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-hyperliquid.json",
        "title": "Deribit vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.json",
        "title": "dYdX vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.json",
        "title": "Hyperliquid vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.json",
        "title": "Hyperliquid vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-mexc.json",
        "title": "Hyperliquid vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx.json",
        "title": "Hyperliquid vs OKX API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bitfinex": 85,
        "by": 45,
        "edge": "bitfinex",
        "hyperliquid": 40,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bitfinex": 48,
        "by": 6,
        "edge": "bitfinex",
        "hyperliquid": 42,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bitfinex": 61,
        "by": 9,
        "edge": "hyperliquid",
        "hyperliquid": 70,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bitfinex": 62,
        "by": 2,
        "edge": "hyperliquid",
        "hyperliquid": 64,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bitfinex": 40,
        "by": 15,
        "edge": "hyperliquid",
        "hyperliquid": 55,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bitfinex": 41,
        "by": 2,
        "edge": "bitfinex",
        "hyperliquid": 39,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bitfinex": 49,
        "by": 23,
        "edge": "bitfinex",
        "hyperliquid": 26,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Bitfinex API scores 58.4 (C) on agent readiness against Hyperliquid's 50 (D), and leads in 4 of 7 scored categories. Hyperliquid leads on agent ergonomics and payments \u0026 pricing. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bitfinex": "Bitfinex gives an agent scoped keys with a separate withdraw permission, paper-trading sub-accounts on the production API, llms.txt and official clients in four languages. There is no official MCP server, responses are positional arrays with empty error bodies, rate limits run 10 to 90 a minute per IP, and the terms, API terms and privacy statement could not be read.",
      "hyperliquid": "Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid",
    "json": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.min.md"
  },
  "markdown": "Bitfinex API scores 58.4 (C) on agent readiness against Hyperliquid's 50 (D), and leads in 4 of 7 scored categories. Hyperliquid leads on agent ergonomics and payments \u0026 pricing. Both do exchange market data.\n\n- Bitfinex API: grade C, 58.4/100, rank #687 of 1349. Markdown https://www.anchorterminal.com/tools/bitfinex.md · JSON https://www.anchorterminal.com/api/v1/tools/bitfinex.json\n- Hyperliquid: grade D, 50/100, rank #1018 of 1349. Markdown https://www.anchorterminal.com/tools/hyperliquid.md · JSON https://www.anchorterminal.com/api/v1/tools/hyperliquid.json\n- Best crypto exchange APIs and MCP servers for AI agents: https://www.anchorterminal.com/best/crypto-exchanges/index.md\n- All 210 exchanges comparisons: https://www.anchorterminal.com/compare/crypto-exchanges/index.md\n\n## Which one, for what\n\n### Bitfinex API (C)\n\nGood for: An agent trading spot, margin or derivatives, or lending on the funding market, with scoped keys, official clients and paper trading.\n\nAhead on:\n- Reliability, 85 against 40\n- Schema \u0026 documentation, 48 against 42\n- Transparency \u0026 trust, 49 against 26\n\nWatch for: No official MCP server, OpenAPI file or AsyncAPI file; the registry's Bitfinex servers are third parties proxying public market data\n\n### Hyperliquid (D)\n\nGood for: An agent trading perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.\n\nAhead on:\n- Agent ergonomics, 70 against 61\n- Payments \u0026 pricing, 55 against 40\n\nWatch for: No official MCP server; the 23 registry entries are all third parties, several selling data by x402\n\n\n## Why the edge\n\n### Reliability: Bitfinex API +45\n\n- Bitfinex API (85): Read with the hosted lines on the v2 API at api.bitfinex.com. bitfinex.statuspage.io is a Statuspage site with history back to May 2021 (20). Its feed has no entry between 25 March 2026 and 3 November 2026, so the last 90 days are clean on the record; the feed logs platform-wide outages only (a 14-hour maintenance in March 2026, a 3-hour outage in August 2025), so smaller incidents may go unrecorded. Judgement call (30). Rate limits with numbers, 10 to 90 a minute per IP and the WebSocket connection limits (15). `ERR_RATE_LIMIT` and the 60-second block are documented, with no Retry-After; orders take a `cid` but no idempotency key or retry guidance was found (10 of 15). No SLA found (0). Generally available (10). 20 + 30 + 15 + 10 + 0 + 10 = 85.\n- Hyperliquid (40): Read with the hosted lines on the REST API at api.hyperliquid.xyz, the surface an agent calls; the chain behind it is noted under details. No status page found in the docs, on hyperliquid.xyz or at status.hyperliquid.xyz, which did not resolve (0). No readable history (5). Rate limits documented with numbers per IP, per address and per WebSocket connection (15). When limited, an address gets one request every 10 seconds; no 429 shape or Retry-After is documented, but `cloid`, per-signer nonces, `expiresAfter` and `noop` make retries safe (10 of 15). No SLA (0). Mainnet is generally available (10). 0 + 5 + 15 + 10 + 0 + 10 = 40.\n\n### Transparency \u0026 trust: Bitfinex API +23\n\n- Bitfinex API (49): The editorial half. A closed service whose Exchange Terms and API Terms of Service loaded only navigation, so the licence terms are unknown; the clients are MIT and Apache-2.0 (8 of 30). The privacy statement loaded only navigation, so retention and data handling are unchecked (0 of 30). The docs say v1 will be deprecated \"at some point in the future\" with no date, and the Python client's 4.0.0 removed endpoints with a release note (5 of 20). Subprocessors and data locations are in the unread privacy statement (0). 8 + 0 + 5 + 0 = 13.\n- Hyperliquid (26): The editorial half. The SDKs are MIT and the node repository Apache-2.0 with a Dockerfile around a binary; the API servers and front end are closed and the terms were unreadable (12 of 30). No privacy policy read and nothing in the docs on data handling (0 of 30). Deprecated actions are marked in the docs without dates or a policy (8 of 20). No subprocessors or data locations (0 of 20). Total 20.\n\n### Payments \u0026 pricing: Hyperliquid +15\n\n- Bitfinex API (40): No machine payment protocol (0). The fees page is public without login (20), though it shows zero maker and taker with no tiers or date. The API is free, public endpoints need no account, and paper trading needs no money (20). A person must sign up in a browser with identity checks and mint the key (0). 0 + 20 + 20 + 0 = 40.\n- Hyperliquid (55): No machine payment protocol (0). Fees published per tier without login (20). No card anywhere; public info endpoints are free and the testnet faucet gives 1,000 mock USDC, though only to an address that has deposited on mainnet (15 of 20). No signup; an agent with a funded EVM wallet deposits USDC on a bridged chain and trades, subject to the unread terms (20). Total 55.\n\n### Agent ergonomics: Hyperliquid +9\n\n- Bitfinex API (61): Graded on the REST API. Limits on trades, candles and book depth, and `pub:list` config endpoints keep responses small, but positional arrays make every field a lookup (14 of 25). `start`, `end`, `limit` and `sort` on history endpoints and per-symbol variants (16 of 20). `ERR_RATE_LIMIT` is actionable; authenticated 400s return `{}` and withdrawal status strings may change, so an agent cannot branch on causes (8 of 20). A client id on orders, order multi-op and cancel-multiple, but no idempotency key and no retry contract (8 of 20). Few required parameters and official clients in Node, Python, Go and Ruby (15). 14 + 16 + 8 + 8 + 15 = 61.\n- Hyperliquid (70): An API, read for response sizing. Time-range calls return at most 500 blocks of data, fills and historical orders cap at 2,000 items, candles at 5,000, l2Book at 20 levels a side (18 of 25). Cursor-by-timestamp pagination on fills and funding, filtering by coin or dex, no field selection (14 of 20). Order errors are documented strings per order, one batch-level error rejects a batch, and `orderStatus` answers `unknownOid`; no codes and no rate-limit error shape (12 of 20). `cloid`, per-signer nonces within a time window, `expiresAfter`, `noop` to burn a nonce and `scheduleCancel` as a dead man's switch (18 of 20). Few required fields, but signing needs msgpack field order, two EIP-712 schemes and lowercase addresses, and the official SDKs are Python (Alpha) and Rust only (8 of 15). Total 70.\n\n### Schema \u0026 documentation: Bitfinex API +6\n\n- Bitfinex API (48): No OpenAPI or AsyncAPI file was found on docs.bitfinex.com, in llms.txt or in the client repositories (0). llms.txt and a .md twin of every docs page (10). Each reference page states the endpoint's purpose and fields, and the introduction says when to use api-pub against api, but nothing says when not to use an endpoint (14 of 20). Responses are positional arrays described in field tables, inputs are typed in prose with some enumerations (wallet names, order types) and required fields marked; the withdrawal CODE field is work in progress (7 of 15). Signed-request recipes in five languages, but authenticated errors are documented as 400 with an empty object and there is no error reference (9 of 15). Version v2 in the path and a dated changelog, whose last entry is October 2024 and whose v1 deprecation has no date (8 of 15). 0 + 10 + 14 + 7 + 9 + 8 = 48.\n- Hyperliquid (42): No OpenAPI or other machine-readable contract; request and response shapes are tables and JSON examples in the docs (0 of 25). llms.txt and a Markdown twin of every page by appending .md (10). Each info type and exchange action has a short description of what it does, and the signing page lists common mistakes, but little says when to use one call over another (12 of 20). Fields are one-letter keys (`a`, `b`, `p`, `s`, `r`, `t`, `c`) with numbers as strings, enums such as `tif` Alo, Ioc or Gtc, and required fields marked in tables (9 of 15). An example for every call and a list of order and cancel error strings, with no HTTP error table (11 of 15). No API version, no changelog and no dated release notes; deprecated actions such as `userDexAbstraction` are marked in place (0 of 15). Total 42.\n\n## Score by category\n\n| Category | Weight | Bitfinex API | Hyperliquid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 40 | Bitfinex API +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 48 | 42 | Bitfinex API +6 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 70 | Hyperliquid +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 64 | Hyperliquid +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 55 | Hyperliquid +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 39 | Bitfinex API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 26 | Bitfinex API +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.4 · C** | **50 · D** | |\n\n## Facts side by side\n\n| Fact | Bitfinex API | Hyperliquid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | iFinex Inc. | Hyperliquid Labs |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted API under Bitfinex's API Terms of Service, which our reader couldn't load. The official client libraries (Node, Python, Go, Ruby) are MIT or Apache-2.0 | The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-07-18 | 2026-06-04 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | couldn't be read | no document linked |\n| Customer content may train models | couldn't be read | couldn't be read |\n| Terms restrict automated access | couldn't be read | couldn't be read |\n| Terms restrict benchmarking | couldn't be read | couldn't be read |\n| Terms or service can change without notice | couldn't be read | couldn't be read |\n| Arbitration or class-action waiver | couldn't be read | couldn't be read |\n| Popularity | 480 stars | 1.9k stars, 167k PyPI/wk |\n\n## Verdicts\n\n**Bitfinex API.** Bitfinex gives an agent scoped keys with a separate withdraw permission, paper-trading sub-accounts on the production API, llms.txt and official clients in four languages. There is no official MCP server, responses are positional arrays with empty error bodies, rate limits run 10 to 90 a minute per IP, and the terms, API terms and privacy statement could not be read.\n\n**Hyperliquid.** Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK.\n\n## Before you call either\n\n### Bitfinex API\n\n1. Mint a key with read on the scopes the task needs and write only on `orders`; never grant `withdraw` to a trading key, and bind the key to known IPs\n2. Use one key per client process, since each key keeps its own strictly increasing nonce and a reused nonce is rejected\n3. Rehearse on a paper-trading sub-account with the TEST symbols before touching real balances; the sub-account cannot be converted later\n4. Plan requests against the per-endpoint limit of 10 to 90 a minute per IP; `ERR_RATE_LIMIT` blocks the IP for 60 seconds with no Retry-After\n5. Map each response by position from the docs' field tables and set a `cid` on orders, because responses are arrays and a 400 carries no reason\n\n### Hyperliquid\n\n1. Generate a fresh API wallet, approve it with `approveAgent` with a name and expiry, sign with it, and query with the master address, never the agent address\n2. Use the Python SDK's `sign_l1_action` and `sign_user_signed_action`; mixing the two, field order in msgpack or an uppercase address gives \"User or API Wallet ... does not exist\"\n3. Set a `cloid` on every order and read the per-order `statuses` array; one batch-level error rejects the whole batch\n4. Budget address limits by volume (one action per 1 USDC traded after 10,000); batch orders to lower IP weight, and use WebSocket for data\n5. Arm `scheduleCancel` before unattended trading so open orders are cancelled if the agent stops\n\n## Questions\n\n### Which is better for AI agents, Bitfinex API or Hyperliquid?\n\nBitfinex API scores 58.4 (C) on agent readiness against Hyperliquid's 50 (D), and leads in 4 of 7 scored categories. Hyperliquid leads on agent ergonomics and payments \u0026 pricing.\n\n### Do Bitfinex API and Hyperliquid need an API key?\n\nBitfinex API needs an API key. Hyperliquid takes an API key or an OAuth sign-in.\n\n### Can an agent call Bitfinex API and Hyperliquid without installing anything?\n\nNo hosted endpoint is listed for Bitfinex API. No hosted endpoint is listed for Hyperliquid.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bitfinex\", \"b\": \"hyperliquid\"}`. From a terminal: `anchor compare bitfinex hyperliquid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bitfinex.json and https://www.anchorterminal.com/api/v1/tools/hyperliquid.json\n\n## Other comparisons with Bitfinex API or Hyperliquid\n\n- [Bitfinex API vs Bitget](https://www.anchorterminal.com/compare/bitfinex-vs-bitget.md)\n- [Bitfinex API vs Bithumb Open API](https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.md)\n- [Bitfinex API vs Bitstamp API](https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp.md)\n- [Bitfinex API vs Bybit](https://www.anchorterminal.com/compare/bitfinex-vs-bybit.md)\n- [Bitfinex API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.md)\n- [Bitfinex API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-mcp.md)\n- [Bitfinex API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-crypto-com-exchange.md)\n- [Bitfinex API vs Deribit](https://www.anchorterminal.com/compare/bitfinex-vs-deribit.md)\n- [Bitfinex API vs dYdX](https://www.anchorterminal.com/compare/bitfinex-vs-dydx.md)\n- [Bitfinex API vs Gate](https://www.anchorterminal.com/compare/bitfinex-vs-gate-io.md)\n- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)\n- [Bitfinex API vs HTX trading API](https://www.anchorterminal.com/compare/bitfinex-vs-htx.md)\n- [Bitfinex API vs Kraken API](https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md)\n- [Bitfinex API vs KuCoin](https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.md)\n- [Bitfinex API vs MEXC API](https://www.anchorterminal.com/compare/bitfinex-vs-mexc.md)\n- [Bitfinex API vs OKX API](https://www.anchorterminal.com/compare/bitfinex-vs-okx.md)\n- [Bitfinex API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.md)\n- [Bitfinex API vs Upbit Open API](https://www.anchorterminal.com/compare/bitfinex-vs-upbit.md)\n- [Bitget vs Hyperliquid](https://www.anchorterminal.com/compare/bitget-vs-hyperliquid.md)\n- [Bithumb Open API vs Hyperliquid](https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.md)\n- [Bitstamp API vs Hyperliquid](https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid.md)\n- [Bybit vs Hyperliquid](https://www.anchorterminal.com/compare/bybit-vs-hyperliquid.md)\n- [Crypto.com Exchange API vs Hyperliquid](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-hyperliquid.md)\n- [Gate vs Hyperliquid](https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid.md)\n- [Gemini Exchange API vs Hyperliquid](https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.md)\n- [HTX trading API vs Hyperliquid](https://www.anchorterminal.com/compare/htx-vs-hyperliquid.md)\n- [Hyperliquid vs Upbit Open API](https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.md)\n- [Binance API vs Bitfinex API](https://www.anchorterminal.com/compare/binance-vs-bitfinex.md)\n- [Binance API vs Hyperliquid](https://www.anchorterminal.com/compare/binance-vs-hyperliquid.md)\n- [Coinbase Advanced Trade API vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid.md)\n- [Hyperliquid vs Uniswap Trading API](https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.md)\n- [Deribit vs Hyperliquid](https://www.anchorterminal.com/compare/deribit-vs-hyperliquid.md)\n- [dYdX vs Hyperliquid](https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.md)\n- [Hyperliquid vs Kraken API](https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.md)\n- [Hyperliquid vs KuCoin](https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.md)\n- [Hyperliquid vs MEXC API](https://www.anchorterminal.com/compare/hyperliquid-vs-mexc.md)\n- [Hyperliquid vs OKX API](https://www.anchorterminal.com/compare/hyperliquid-vs-okx.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bitfinex API vs Hyperliquid",
        "url": ""
      }
    ],
    "description": "Bitfinex scores 58.4 (C) to Hyperliquid's 50 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bitfinex API C 58.4",
      "Hyperliquid D 50",
      "scores"
    ],
    "h1": "Bitfinex API vs Hyperliquid",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bitfinex-vs-hyperliquid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bitfinex vs Hyperliquid for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2280
  },
  "version": 1
}
