Farbeam
Docs / Data

Data sources

Everything Farbeam serves comes from public sources or from rows built from them. This page lists each source, what is read, how long it is cached, and the effect of a failure. Live results are on Status and the status page.

Outbound calls have a timeout, a shared cache and per-source health counters. Redirects are refused.

#Sources

SourceStatus nameWhat is readUsed byCache
Public EVM RPC, first choicerpc:<chain>:primaryBlocks, gas, logs, balances, transactionsAll six EVM pollers and lookups. Each chain page names its endpoint.Pollers none. Wallet 30 s, activity 60 s.
Public EVM RPC, fallbackrpc:<chain>:fallbackSame as abovedRPC, Nodies, 1RPC, BlockRazor and PublicNode, tried in orderSame
Heliusrpc:solana:primarySlots, blocks, balances, getAssetsByOwnerSolana lookups first, poller fallback, when configuredWallet 30 s
PublicNode Solana RPCrpc:solana:fallbackSame, except getAssetsByOwnerSolana poller first, the exchange watch list, lookup fallbackWallet 30 s
CoinGeckocoingeckoUSD price and 24 hour change for 8 assetsValuation, wallets, gas, prices60 s
DexScreenerdexscreenerPools for a tokenToken report market data60 s
GoPlusgoplusContract security fields and holdersToken report checks5 min
RugCheckrugcheckReport summary score, Solana onlyToken report check5 min
DefiLlamadefillamaChain TVL, DEX volumeMarket endpoints10 min, 15 min
DefiLlama stablecoinsdefillama-stablecoinsStablecoin supplyMarket endpoint10 min
GeckoTerminalgeckoterminalTrending poolsMarket endpoint5 min

Token metadata on EVM (symbol, name, decimals, supply) comes from the chain RPC and is cached for 24 hours.

#Timeouts

CallTimeout
Default HTTP or RPC call8 s
RPC batch10 s
eth_getLogs in the poller12 s
eth_getLogs in wallet activity, Solana getTransaction15 s, 12 s
Solana getBlock in the poller20 s
Helius getAssetsByOwner10 s
DefiLlama stablecoins, DEX volume12 s, 15 s

#What happens on failure

FailureEffect
Primary RPC failsThe call moves to the fallback.
Both RPCs fail, in a pollerconsecutive_failures grows and the next poll waits longer. See chain status. The log cursor catches up afterward, up to 2,000 blocks behind the head. Older blocks are skipped.
RPC error on one Solana slotThe poller tries up to three older slots.
One chain fails on an EVM wallet readThat chain has ok: false. partial is true. Status 200.
All chains fail on an EVM wallet read502 with source: "evm-rpc"
CoinGecko failsThe last good prices stay in use with no marker on the row.
DexScreener fails on a reportmarket is null, and liquidity reads unknown.
GoPlus fails on a reportAll its checks read unknown.
RugCheck fails on a reportrugcheck reads unknown.
Solana RPC fails for mint infomint_authority and freeze_authority read unknown.
All sources fail on a report, wallet, stablecoin or DEX callThe last saved copy with stale: true, if one exists. See freshness. Else 502.
A market source fails502 with that source name, once the cache has expired

#A source can answer with nothing

An empty GoPlus result counts as a failed source. sources[] shows goplus with ok: false, the matching checks read unknown, and the result is not cached, so the next read tries again.

Partial answers also happen. GoPlus often returns some fields for a contract and omits others, as the USDC example shows.

#Reading source health

curl -s "https://farbeamlabs.com/api/v1/status" | jq '.data.sources[] | {name, ok, failures, error}'
const res = await fetch("https://farbeamlabs.com/api/v1/status");
const { data } = await res.json();
console.table(data.sources.map(({ name, ok, calls, failures, error }) => ({ name, ok, calls, failures, error })));
import requests

sources = requests.get("https://farbeamlabs.com/api/v1/status", timeout=30).json()["data"]["sources"]
for s in sources:
    print(s["name"], s["ok"], s["calls"], s["failures"], s["error"])
FieldMeaning
okResult of the last call to this source only
calls, failuresCounts since the last restart
latency_msTime of the last call
last_ok, last_error_atUTC times
errorShort text: timeout, request failed or HTTP <code>

A source shows here only after its first call. A failing fallback may not matter while its primary works.

#Limits and trust

  • Public RPC providers throttle, and results can differ by a block or two between providers.
  • Third-party fields can be wrong, late or absent. Farbeam reads and shows them with their field names, and it does not correct them.
  • These providers are named so you can check their data yourself. Naming them does not mean they endorse this service.
  • Prices and checks are for information only and are not financial advice.

To report a data problem, write to contact@farbeamlabs.com with the request_id, the address and the UTC time.