Sign in

API

The data behind the site, over HTTPS

The Arbsuite API serves live Solana arbitrage observations: landed arbs with per-leg routes, provider evidence, wallet P&L aggregates, the engine's tracked-mint registry, and the token and market leagues behind Tokens and Markets.

Authentication is one header: an account key as a bearer token, or on x-arbsuite-key. The customer API requires a paid account key. See Authentication below.

Keys are created in Account on the paid plans. Questions: [email protected]

Base URL

https://api.arbsuite.com/v1

The same versioned API is available at https://arbsuite.com/api/v1. All documented operations are GET reads. Replace path placeholders such as {mint} and set SINCE to a Unix timestamp before running an example.

Authentication

Every request carries an account key. Keys are created in Account on Searcher (5 keys) and Searcher+ (10 keys) and Researcher (25 keys); the secret is shown once and can be revoked there. Send it as a bearer token, or in x-arbsuite-key:

Authorization: Bearer ars_…
x-arbsuite-key: ars_…

A key acts as its account's plan: the same windows, row caps, budgets and export sizes as the site. Missing, malformed or revoked keys return 401; a plan without API access returns 403. Keys are read-only: they cannot change accounts, preferences, billing or operator settings. Keep them on your server, not in browser code, URLs, screenshots or public repositories.

Limits by plan

PlanAPI keysRequests / minHeavy / minHeavy in flightHistory rows / dayExport rowsExports / day
Guest—600120450,000——
Normal—6001204250,000——
Searcher52,4006001610,000,000100,000200
Searcher+104,8001,2003225,000,000250,000500
Researcher259,6002,40064100,000,000500,0001,000

Requests and heavy queries are per minute. All keys and browser sessions share the account allowance; creating more keys does not increase it. Live first-page reads do not spend the history-row budget, but still count as requests and are rate limited. History, deeper pages and exports are metered. Heavy in flight is the plan ceiling; process-wide safety limits also apply. At most two export streams and four live feeds can be open per account. Follow Retry-After on 429 and use exponential backoff with jitter.

Error bodies

StatusBodyWhen
400{error:'invalid', message}A malformed request.
401{error:'auth', message}No key, or a revoked one.
403{error:'plan', needs, feature, message}The plan lacks the feature; needs names the lowest plan that has it.
403{error:'csrf'} or {error:'step_up'}Browser sessions only: a cross-site request, or a fresh wallet signature is needed.
409{error:'invalid', message}The wallet belongs to another account.
429{error:'budget', resets_at}The daily row or export budget is spent.
429{error:'ask_quota', next_at, plan}The Ask Arbie allowance is spent.
429{error:'rate limited', bucket, retry_after}A per-minute limit; wait retry_after seconds.
503{error:'unavailable'} or {error:'lockdown'}Sign-in is not configured, or paused.

Every error is JSON with cache-control: no-store.

Arbitrage receipts

GET /arbs

Landed arbitrage observations with decoded routes, fee breakdowns and evidence-backed landing attribution.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arbs?since=$SINCE&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.
wallet, provider, bot, submission, client, dex, mint, poolstringOptional exact filters.

Response

FieldTypeNotes
totalintegerMatching observations.
items[]object[]Receipts: signature, observed_at, slot, transaction_index, fee_payer, token_mint, route, legs.
items[].profit_lamportsnumberModeled net profit after costs, in lamports. May be non-positive.
items[].tip_lamports, priority_fee_lamportsnumberLanding tip and priority fee, counted once in costs.
items[].landing_channel, landing_kind, landing_confidencestringAttribution and its confidence. Not proof beyond the observed evidence.
items[].legsobject[]Decoded venues, canonical market addresses, inputs and outputs; unresolved routes retain fallback fingerprints.

Live snapshot

GET /arbs/latest

Small recent receipt snapshot for reconciliation after a stream disconnect.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arbs/latest?limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
limitintegerRequested recent rows.

Response

FieldTypeNotes
items[]object[]Recent receipts in the same item shape as /arbs.

Live feed

GET /arbs/stream

Server-Sent Events, not WebSockets. Use a server-side streaming client that can send the Authorization header. Reconnect and reconcile with /arbs/latest; this is a best-effort feed, not a durable delivery guarantee.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arbs/stream" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
Last-Event-IDheaderOptional last received SSE event id.

Response

FieldTypeNotes
Content-Typetext/event-streamSSE event framing; process incrementally, do not parse as one JSON response.
Connection lifetime5 minutesReconnects reauthenticate. At most four open streams per account; a process-wide cap also applies.

Filter vocabulary

GET /arb-facets

Available filters and counts for a receipt window.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arb-facets?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
facetsobjectFilter values, companion labels and observation counts; entity lists are bounded.

Time series

GET /arb-series

Time-bucketed arbitrage economics, costs, attempts and landing breakdowns.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arb-series?since=$SINCE&step=300" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
stepintegerRequested bucket width in seconds; the engine normalizes it.
wallet, botstringOptional scope.

Response

FieldTypeNotes
since, step_secsintegerActual series start and bucket width.
buckets[]object[]ts, count, net_lamports, gross_lamports, cost_lamports and fee/tip breakdowns.
buckets[].attempt_failed_count, attempt_noop_countnumberAttempt counters where collected.
by_asset, by_provider, by_bot, by_landingobject[]Economics grouped by asset, provider, bot or landing method; coverage-dependent fields can be absent.

Searcher rankings

GET /arb-wallets

Wallet rankings with landed economics and attempt costs.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arb-wallets?since=$SINCE&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.
sort, dirstringSort such as after, net or count; asc or desc.

Response

FieldTypeNotes
since, totalintegerActual window start and matching wallet count.
items[]object[]wallet, bot, count, net_lamports, gross_lamports, tip_lamports, fee_lamports and attempt/cashback fields when collected.

Bot rankings

GET /bots

Searcher wallets aggregated by attributed bot program. This is a bounded aggregate, not a bulk wallet export.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/bots?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
rows[]object[]Per-program aggregates.
wallets_total, wallets_seenintegerTotal active wallets and the number included.
completebooleanFalse means the upstream scan was truncated; do not treat it as a complete league.

Wallet realized P&L events

GET /wallet-pnl

Cashback claim events and modeled realized P&L additions; this is not a complete wallet balance or total portfolio P&L.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/wallet-pnl?wallet=$WALLET&since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
walletstringSolana searcher wallet public key. Required for wallet-specific endpoints.
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.

Response

FieldTypeNotes
items[]object[]signature, event_type, amount_lamports, fee_lamports, pnl_lamports, slot, observed_at.
count, amount_lamports, fee_lamports, pnl_lamportsnumberWindow totals.
cashback_balanceobjectObserved claimable Pump and PumpSwap balances with observation time/slot.

Wallet attempts

GET /wallet-attempts

Failed and no-op landed attempts, their costs and failure reasons. Paid keys receive the full paginated detail available to their plan.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/wallet-attempts?wallet=$WALLET&since=$SINCE&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
walletstringSolana searcher wallet public key. Required for wallet-specific endpoints.
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.

Response

FieldTypeNotes
failed_count, noop_countintegerWindow attempt totals.
fee_lamports, processing_fee_lamports, priority_fee_lamports, tip_lamportsnumberBurn and its components.
by_error[]object[]Grouped failure evidence.
items[]object[]Paginated observed attempts.

Wallet competitive analysis

GET /wallet-insights

Observed missed-token and shared-slot comparisons. Expensive: cache results and request on demand.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/wallet-insights?wallet=$WALLET&since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
walletstringSolana searcher wallet public key. Required for wallet-specific endpoints.
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
mineobjectWindow arbs, net_lamports, slots and tokens.
missed_tokens[]object[]Observed opportunities on tokens not traded by the wallet.
shared_slotsobjectOverlap classifications and evidence samples; these are analytical classifications, not guaranteed counterfactual profit.

Route rankings

GET /arb-routes

Decoded route activity and economics.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arb-routes?since=$SINCE&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.
walletstringOptional wallet scope.

Response

FieldTypeNotes
items[]object[]Route aggregates and associated observed economics.

Mint aggregates

GET /arb-mints

Engine mint aggregates; use /tokens for the ledger token league and its contention fields.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/arb-mints?since=$SINCE&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.

Response

FieldTypeNotes
items[]object[]Per-mint window aggregates.

Token league

GET /tokens

Ledger-backed token rankings, market coverage and contention economics.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/tokens?since=$SINCE&page=1&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
pageintegerOne-based page; default 1.
limitintegerRows per page, at most 100.
sortstringEndpoint-specific ranking metric; default is the page default.
dirasc | descRanking direction.
step, q, dexstringOptional chart width, search and venue filter.

Response

FieldTypeNotes
items[]object[]Token identity and window economics.
windowobjectWhole-window denominators, net/gross lamports, searchers, decoded share and observed SOL/USD rate.
computed_at, reachintegerSnapshot time and earliest ledger coverage, in Unix seconds.
contention fieldsnumber | nullAttempt pressure, racing wallets and burn where the engine has coverage.

Token dossier

GET /tokens/{mint}

One token: window totals, series, markets, searchers and contention evidence.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/tokens/{mint}?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
totals, seriesobjectWindow economics and chart data.
markets, searchersobject[]Observed market and wallet breakdowns.
contentionobject | nullAvailable attempt-pressure evidence; null is not zero.

Market league

GET /markets

Canonical decoded pools and markets ranked by observed arbitrage.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/markets?since=$SINCE&page=1&limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
pageintegerOne-based page; default 1.
limitintegerRows per page, at most 100.
sortstringEndpoint-specific ranking metric; default is the page default.
dirasc | descRanking direction.
q, dexstringOptional search or venue filter.

Response

FieldTypeNotes
items[]object[]Canonical address, venue, mints and window economics.
windowobjectWhole-window economics and coverage denominators.
markets_total, computed_atintegerMatching markets and snapshot time.
items[].liquidityobject | nullThe pool's reserves after the last transaction that moved them: usd (the selected reserve side in USD, preferring quote), usd_side (quote or token), quote_usd (the quote valuation, null if unavailable), at and slot (that transaction), source, quote and token ({mint, amount as a decimal string, decimals}). Verified finalized reserves; reserve_value_usd sums only sides with supported current USD references; valuation_complete is false for a partial estimate. quote_valuation and token_valuation retain each unit price, source market, source time, admission metadata and expiry, including explicitly excluded unverified marks. valuation_status is priced, partial, unverified or unpriced. Cache reads enforce price and reserve expiry. USD remains an estimate and reserves do not measure executable depth; expired reserves retain raw evidence without a USD headline. Sortable by reserve_value_usd with sort=liquidity.

Market dossier

GET /markets/{address}

One canonical market: identity, totals, series, associated markets, winners and attempt contention.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/markets/{address}?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
marketobject | nullCanonical market identity; null if no decoded leg has touched the address.
totalsobject | nullWindow arbs, searchers, economics and position/capital statistics.
contentionobject | nullKnown attempt activity, where observed.
liquidityobject | nullThe reserves now (usd, at, slot, source, quote, token), the history over the window in buckets of step seconds (60 inside two days, 3600 beyond; series: ts, open, last, min, max, samples) and the figure the window opened at (start_usd). Every swap counted; a reserve, never executable depth.

Landing channels

GET /senders

Observed provider/channel economics, positions and client distributions.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/senders?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
stepintegerChart bucket size in seconds.

Response

FieldTypeNotes
senders[]object[]One row per landing path (channel and kind: a provider with both products is two rows, its bundles and its SWQoS landings) with observations and economics.
window, series, clients, shapeobjectTotals, time series, client distribution and route/position shape.
thresholdsobjectThresholds used for economic inference; inferred channels must not be treated as proven delivery attribution.

Landing-channel dossier

GET /senders/{channel}

One channel’s searchers, validators, tokens, bid statistics and transaction positions.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/senders/{channel}?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
kindbundle | swqosNarrows a provider with both products to one of them; a one-product channel ignores it.

Response

FieldTypeNotes
searchers, validators, tokensobject[]Channel-specific participants and economics.
bids, positionobjectQuantiles and coverage counts.

Validators

GET /validators

Block producers joined to landed observations and scheduled-slot-normalized economics.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/validators?since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.

Response

FieldTypeNotes
rows[]object[]identity, self-reported client/version, scheduled_slots, mev_slots, arbs and net_lamports.
mapped_arbs, client_known_arbsintegerAttribution coverage denominators.

Token metadata

GET /meta

Display metadata for a bounded list of token mints.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/meta?mints=$MINT" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
mintsstringComma-separated public keys, at most 200.

Response

FieldTypeNotes
responseobjectToken display metadata keyed by mint, as available.

Entity lookup

GET /resolve/{q}

Resolve a public key or transaction signature into known chain entities. API keys never receive an account’s private labels.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/resolve/{q}" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
responseobjectKnown entity matches and receipt evidence; absence means not observed, not invalid on-chain.

Top observations

GET /top-arbs

Highest modeled net-profit observations in a window.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/top-arbs?since=$SINCE&limit=10" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
limitinteger1 to 25; default 10.

Response

FieldTypeNotes
items[]object[]Top observed receipts.

Coverage horizon

GET /horizon

Earliest observed arbitrage currently retained.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/horizon" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
earliestinteger | nullUnix seconds; null if unknown.
checked_atintegerHorizon check time.

Partner capture

GET /partner-capture

Public-chain wallet capture on selected validator identities. This is separate from the private W4RD Partner API and its organization-scoped credentials.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/partner-capture?wallet=$WALLET&validators=$VALIDATORS&since=$SINCE" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
walletstringSolana searcher wallet public key. Required for wallet-specific endpoints.
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
validatorsstringRequired comma-separated validator identities.

Response

FieldTypeNotes
responseobjectPartner-led versus other-slot capture, lost-race and window evidence for the selected wallet scope.

Live blocks

GET /blocks/live

Recent observed blocks and their activity.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/blocks/live" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
recent[]object[]Recent block summaries and coverage.

Epoch grid

GET /blocks/epoch/{epoch}

Activity grid for an observed epoch; use current for the latest observed epoch.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/blocks/epoch/{epoch}" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
responseobjectEpoch slots, leaders, activity grid and coverage metadata.

Block receipts

GET /blocks/slot/{slot}

Observed arbitrage and attempt receipts within one slot, in block order.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/blocks/slot/{slot}" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
arbs[], attempts[]object[]Observed receipts; this is not every transaction in the chain block.

Block detail

GET /blocks/cell/{slot}

The block square’s metrics and first pages of arbs, searchers and pools. Further pages use /blocks/cell/{slot}/{list}, with list = arbs, searchers or pools and page starting at 1.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/blocks/cell/{slot}" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
responseobjectBlock-square detail and bounded participant lists.

Dataset downloads

GET /datasets/{name}

Tracked tokens including intermediates, independent market analytics, or token tracking history. Mint rows contain tracking timestamps and required_by_mints, with no market metadata. Omit format for a JSON page; csv or json requests a capped export (json means NDJSON). History is retained registry change evidence, not unlimited chain history.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/datasets/{name}?limit=25" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
limitintegerMaximum rows. The plan and endpoint impose protective caps.
offsetintegerZero-based offset; default 0.
formatcsv | jsonOptional download format; consumes one export allowance.

Response

FieldTypeNotes
items[], count, offset, limit, generated_atobjectPaginated snapshot envelope without a format parameter.
downloadCSV | NDJSONRaw identifiers and selected dataset columns, not private account labels.

Table exports

GET /export/{table}

Download arbs, searchers, tokens, markets, validators, senders or blocks. CSV by default, or newline-delimited JSON. Exports honor backpressure and stop fetching when disconnected.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/export/{table}?since=$SINCE&format=json" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

ParamTypeNotes
sinceintegerWindow start in Unix seconds; supply it explicitly.
untilintegerOptional exclusive window end in Unix seconds. Omit for a rolling window.
formatcsv | jsonjson returns application/x-ndjson, one object per line.

Response

FieldTypeNotes
X-Arbsuite-Rows-MaxheaderProtective maximum rows for this export.
Content-DispositionheaderSuggested download filename.

Key usage

GET /usage

Usage for the authenticating key plus its account’s shared allowance. No accountId or keyId selector is accepted.

curl --fail-with-body -sS "https://api.arbsuite.com/v1/usage" \
  -H "Authorization: Bearer $ARBSUITE_KEY"

Request

Nothing to show

Response

FieldTypeNotes
keyId, scope, planstringPublic key identifier, data:read scope and effective plan.
usageobjectUTC day, requests admitted to API limiting, historyRows and exports.
accountUsageobjectShared account history rows and export usage/budgets.
limitsobjectPlan rate and concurrency limits. Keys do not multiply the account allowance.

Check actual since/until fields and X-Arbsuite-Clamped rather than assuming your requested window was served unchanged. Engine reads generally cap each window at 24 hours; arb-series, arb-wallets and arb-routes can stitch pinned multi-day windows. Ledger leagues and dossiers accept up to 7 days. Null and missing coverage fields do not mean zero. Lamports are 10⁻⁹ SOL; use an integer-safe JSON parser for values beyond JavaScript's safe integer range.

Revoking a key in Account clears this process’s cache immediately; external account/key changes can take up to 30 seconds to reach a cached key. Existing live streams end within five minutes and must reauthenticate. Account shows per-key daily requests, history rows and last use. Request telemetry is buffered and persisted every ten seconds; it is operational tracking, not an exactly-once billing ledger. The website's guest preview is intentionally public and limited; copying its requests does not confer paid or operator access.