Farbeam
Docs / Data

Chain coverage

Farbeam reads seven chains, and coverage differs on each. This matrix states what works where. The API returns the same facts from List chains, so a client can read them and need not hard-code them.

#Index coverage

ChainAPI idChain idNativePoll waitLarge transfers storedNative asset storedCurated tokensRows marked sampled
Ethereumethereum1ETH12 sYesYes, head block only5No
Basebase8453ETH16 sYesNo5No
BNB Chainbnb56BNB16 sYesNo5No
Arbitrum Onearbitrum42161ETH16 sYesNo4No
OP Mainnetoptimism10ETH30 sNo, PlannedNo3None stored
Polygon PoSpolygon137POL30 sNo, PlannedNo3None stored
SolanasolanaNoneSOL30 sSampled, one block per poll, plus 7 exchange walletsYes, sampled11Yes

#Features by chain

FeatureEthereumBaseBNB ChainArbitrumOP MainnetPolygonSolana
Head and recent blocksYesYesYesYesYesYesSampled slots
base_fee_gwei, gas_price_gweiYesYesYesYesYesYesNo
tps, priority_fee_microlamportsNoNoNoNoNoNoYes
/transfers rowsYesYesYesYesNoNoSampled
Beamline rules can matchYesYesYesYesNoNoSampled
Wallet balancesCuratedCuratedCuratedCuratedCuratedCuratedAll tokens, up to 60 shown
Wallet activityCurated, logsCurated, logsCurated, logsCurated, logsCurated, logsCurated, logsSignatures
Token reportGoPlusGoPlusGoPlusGoPlusGoPlusGoPlusRPC, GoPlus, RugCheck
Transaction lookupYesYesYesYesYesYesYes
Trending poolsYesYesYesYesYesYesYes

"Curated" means the native asset plus the curated token list of that chain. It is not a full portfolio.

#Reading coverage from the API

curl -s "https://farbeamlabs.com/api/v1/chains" \
  | jq '.data[] | {id, large_transfer_index, native_transfers, sampled, poll_seconds, tokens: (.tokens | length)}'
const res = await fetch("https://farbeamlabs.com/api/v1/chains");
const { data } = await res.json();
const indexed = data.filter((c) => c.large_transfer_index && !c.sampled).map((c) => c.id);
console.log(indexed);
import requests

chains = requests.get("https://farbeamlabs.com/api/v1/chains", timeout=30).json()["data"]
print([c["id"] for c in chains if c["large_transfer_index"] and not c["sampled"]])

The filter above returns ethereum, base, bnb and arbitrum. All four read curated tokens with the same log scan. See indexing.

#Not covered

  • Other chains. There is no list of chains to be added, except that indexing on OP Mainnet and Polygon is Planned.
  • Testnets. These are Planned.
  • NFT data. This is Planned.
  • Tokens outside the curated list in the index. Direct token reports work for any token address on these chains.
  • History before the process began storing data, or older than 7 days. A longer archive is Planned.

#How to choose a chain for an alert

GoalGood fitPoor fit
Stablecoin moves at $1m or moreEthereum, Base, BNB Chain, ArbitrumSolana (sampled)
ETH moves on EthereumEthereum, with the limits on its pageOther chains (no native index)
A Solana wallet's movesNone. Poll Wallet activity.Solana rules (sampled). The 7 watched exchange wallets are read in part.
A token on Polygon or OP MainnetNone today. Poll Wallet activity.Rules (no index)

Read indexing for each poller, and chain status for live health.