Three routes a number can take
Cashboard does not produce market data. Each widget asks a public provider for it, and the route that request takes depends on the build you use and on the provider. The line under the title of each widget names the source, so you can always see whose number you are reading.
| Route | Where it applies | What it means for you |
|---|---|---|
| Browser to the provider | Web app, for providers that let a web page read their answers | Your browser makes the request, so the provider sees your connection and applies its own limits to it. GeckoTerminal, for example, allows about 30 calls a minute per IP address. Cashboard's servers are not involved. Hyperliquid, GeckoTerminal, DexScreener, Polymarket, Jupiter and most of DefiLlama are read this way, and so is the LI.FI form in EVM swap. |
| Cashboard's own functions | Web app, at cashboard.live | Your browser asks cashboard.live, which asks the provider and passes the answer back. Dedicated functions serve coin prices and candles, stock quotes, EVM wallet balances and Solana wallet reads. A fixed relay serves feeds that browsers cannot read directly (next section). The address of a watch-only Portfolio, the Solana wallets you follow in Smart money and Smart money graph, and the account in Swap fees are part of those requests, so they reach Cashboard's servers as well as the provider. Answers are reused for a short time. |
| The desktop app itself | Cashboard Desktop | The app's background process makes every data request except the live streams, which the window opens itself. There is no relay. Keys you save are used in that process, and the window learns only whether a key exists, never its value. The app keeps short in-memory caches, mostly 10 to 60 seconds with a few slower feeds, so two widgets asking the same question share one answer. |
Live streams are separate. A few widgets open a WebSocket from the window itself, in both builds: Binance prices in Prices and Watchlist, Hyperliquid marks and trades in Hyperliquid markets, Lighter marks in Robinhood perps, new launches from PumpPortal and Robinhood Chain events in Launchpad radar, and the exchange streams in Liquidations. A green Live badge means the stream is connected. An amber Reconnecting badge shows while a stream connects and whenever it drops, and the waits between retries start at 1 second and double up to 30 seconds. Where a widget also polls, the polling carries on under the stream.
The relay for feeds browsers cannot read
Some providers do not let a web page on another site read their answers. That is a browser rule, usually called CORS. For those providers the web app asks cashboard.live, which fetches the feed and returns it unchanged.
The relay is not an open proxy. It serves a fixed list of feeds, each with its provider address written into it, and it accepts only the few values a feed needs, such as a stock symbol or a row count. It answers GET requests only, waits up to 8 seconds for the provider, and refuses answers larger than 2,000,000 characters. A good answer is reused for 30 seconds. A provider's error status passes through unchanged, so a paywall or an outage reaches the widget as it is.
| Feed | Used by | Provider |
|---|---|---|
| Prediction market list | Prediction markets | Kalshi |
| Bridge volume (no widget asks for it now) | Nothing. Market flows dropped its Bridges tab because DefiLlama answers HTTP 402: bridges are paid. | DefiLlama |
| Ticker, premium index and funding schedule | Perps risk | Aster |
| Tip floor | Solana pulse | Jito |
| Newest coins, and coins currently live | Launchpad radar | pump.fun |
| Newest tokens | Base launches | Clanker |
| Token registry, quotes and corporate actions | Robinhood stock tokens (all three), Base stock tokens (quotes) and Robinhood perps (registry) | Robinhood |
| Tokenized stock registry | Base stock tokens | Coinbase |
| Stock charts | Tokenized stocks | Yahoo Finance |
| Token prices | Tokenized stocks | Backed (xStocks) |
On desktop the relay is not used. The app calls these providers itself.
Providers, keys and routes
Every provider Cashboard reads is listed below. The Key column says what you have to supply, if anything, and Cashboard itself needs no account. The Route column describes the web build: Direct is your browser calling the provider, Relay is the relay above, and Function is one of Cashboard's own functions. On desktop the app calls every provider itself. Keys are explained in Connections, and the Blockscout setup in Blockscout. The web build has nowhere to store a key.
Prices, stocks, discovery and prediction markets
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| CoinGecko | Prices, 24 hour change, market cap, volume and 7 day trend for Prices and Watchlist, candles for Price chart, manual holdings in Portfolio and Net worth, the price in Price alert, the SOL price in Solana pulse, and the category lists behind Real-world assets and Robinhood stock tokens. | None. An optional Demo key on desktop raises limits for prices and charts only. | Function for prices and candles, Direct for the category lists |
| Binance | The fallback price and candles for 12 major coins when CoinGecko does not answer, the live prices in Prices and Watchlist, and one of the three streams behind Liquidations. | None | Function for the fallback. The window opens the streams itself. |
| Yahoo Finance | Stock quotes for Stocks, the cash price in Tokenized stocks, marks for stock positions in Paper trading, and the cash price that stands in when Robinhood has no quote for a token in Robinhood stock tokens. | None | Function for stock quotes, Relay for Tokenized stocks |
| Polymarket | Market probabilities and, in the Whales view, bets of $10,000 or more in Prediction markets. Polymarket's own API can take up to five minutes to show a new bet. | None | Direct |
| Kalshi | The Kalshi half of Prediction markets. | None | Relay |
| GeckoTerminal | Pools in Trending on-chain, on 14 networks, and every tab of Token terminal. One open terminal spends 4 of the roughly 30 calls a minute that GeckoTerminal allows per IP address. | None | Direct |
| DexScreener | Narratives, the boosted-token fallback in Trending on-chain, Solana token prices in a watch-only Portfolio, the spot side of Solana edge, launch details in Base launches and prices in Base stock tokens. | None | Direct |
Perps, funding and liquidations
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| Hyperliquid | Perps positions, Funding rates, Hyperliquid markets and Hyperliquid pulse, HYPE buyback (the fund's balance and fills, and the HYPE spot mark and supply), Hyperliquid predictions (its HIP-4 outcome markets, their odds and volume, and the perp prices they settle against), a venue in Perps risk, the perp side of Solana edge and Tokenized stocks, Hyperliquid accounts in Net worth, perp marks in Paper trading, the order book in Liquidity X-ray, and the ETH and HYPE prices in Chain pulse. The Binance and Bybit columns in the Funding view of Hyperliquid markets come from Hyperliquid's own feed of predicted funding. Cashboard does not call those two exchanges for funding. | None | Direct |
| Lighter | A venue in Perps risk, and the markets, funding and live marks in Robinhood perps. | None | Direct |
| Aster | A venue in Perps risk, for volume and funding. Its public API has no venue-wide open interest. | None | Relay |
| Bybit | Liquidations: ranks the 60 busiest USDT perps by 24 hour turnover, then streams their liquidations. | None | Direct for the ranking. The window opens the stream. |
| OKX | Liquidations: contract sizes, to turn contracts into dollars, and the swap liquidation stream. | None | Direct for contract sizes. The window opens the stream. |
| Deribit | ETH options: open interest and mark implied volatility for every listed ETH option, the ETH index price and the DVOL volatility index. | None | Direct |
Stablecoins, flows and network health
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| DefiLlama | Market flows, Stablecoin risk, TVL, DEX volume and stablecoin supply in Chain pulse (its Hyperliquid L1 series stand in for HyperEVM), pool yields in Chain yields, Solana DEX share, and the holders revenue in HYPE buyback. | None. Bridge volume is the exception, and it is not used: DefiLlama answers HTTP 402 for it because bridges are paid (see Known gaps). | Direct |
| L2BEAT | Daily activity in Chain pulse (not for HyperEVM, which L2BEAT does not track), rollup stage and value secured in L2 scoreboard, and the L2 capital tab of Market flows: total value secured, its canonical, native and external split, each layer 2's value and daily transactions. Read from the l2beat.com website API, which has no published contract. | None | Direct |
| growthepie | Activity, users, fees, costs, profit, rent paid to Ethereum and stablecoin supply in L2 scoreboard, plus the 30-day revenue and Ethereum costs behind its Rent 30d view, used under its CC BY 4.0 licence. growthepie publishes once a day. | None | Direct |
| ultrasound.money and Lido | Ethereum pulse: supply, issuance and burn totals from ultrasound.money over 24 hours, 7 days, 30 days or since the Merge, staking rates from both, and the ETH price behind the dollar costs from ultrasound.money. ultrasound.money has no published API contract, so Cashboard drops each piece, down to a single window, that stops matching instead of failing the whole widget. | None | Direct |
| Public RPC nodes | Block height, fees and gas in Chain status, Chain pulse, Ethereum pulse and Solana pulse. PublicNode serves Ethereum and Solana, Ethereum pulse falls back to Tenderly's gateway for gas and blob fees (the blob target comes from PublicNode alone, and its finality lag and active validator count from PublicNode's public beacon API), Polygon PoS uses dRPC, and every other network uses its own public endpoint. | None | Direct |
Solana
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| Jupiter | Jupiter swap (Jupiter's own plugin on the web build, where your wallet signs, and a link to jup.ag on desktop), the token index behind Solana radar, the xStocks view of Real-world assets, token details in Swap fees, and in Smart money and Smart money graph on Solana, the Graduating view of Launchpad radar, and 24 hour volume for SOL, BTC and ETH as the Jupiter Perpetuals venue in Perps risk. | None | Direct |
| Raydium | Raydium pools and the LaunchLab side of Launchpad radar. | None | Direct |
| Sanctum, Marinade and Kamino | Solana yields: liquid staking rates and Kamino lending rates, each labeled with the window it covers. | None | Direct |
| Jito | The tip floor in Solana pulse. | None | Relay |
| pump.fun and PumpPortal | The pump.fun side of Launchpad radar: the New view lists its newest coins and Momentum the coins it reports as currently live. PumpPortal streams new coins as they are created. | None | Relay for pump.fun. The window opens the PumpPortal stream. |
| Solana RPC | Wallet balances in Portfolio, followed wallets in Smart money and Smart money graph, and unclaimed fees in Swap fees. Public endpoints rate limit heavy reads. | None | Function |
Base and Robinhood Chain
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| Zora and Clanker | Base launches, with Zora or Clanker chosen in the widget. New tokens are enriched from DexScreener. | None | Direct for Zora, Relay for Clanker |
| Coinbase | The registry of Coinbase's tokenized stocks on Base, for Base stock tokens. | None | Relay |
| DuckFacts | Base builders: the ranking of Base's ERC-8021 builder codes by weekly transacting users, the climbers and fallers, the live attribution tape and one code's standing. DuckFacts (dashboard.duckfacts.xyz, made by @altagers) offered its open API for this widget. Plain GET requests only, and its logos load from DuckFacts and DuckDuckGo's favicon service. | None | Direct |
| Robinhood | The stock-token registry, Robinhood's own token and share quotes, and its corporate actions. Robinhood stock tokens uses all three, Base stock tokens uses the share quotes for its premiums, and Robinhood perps uses the registry to tell stock perps from crypto perps. | None | Relay |
| Backed (xStocks) | The token price in Tokenized stocks, and stock-token artwork. If Backed does not answer within 4 seconds, or answers with an error, the price comes from the Jupiter token index. | None | Relay |
| Pons on Robinhood Chain | Launchpad radar on Robinhood Chain: launches and curves are read from the Pons contracts through Robinhood Chain's public RPC, with live events from a PublicNode stream. No API sits in between. | None | Direct, plus a stream from the window |
| LI.FI | EVM swap: routes, quotes and fees for swaps on Base and Robinhood Chain. On the web the form is LI.FI's own widget running in your page, and your connected wallet signs. On desktop the widget links to Jumper, LI.FI's own app, in your browser. | None | Direct, web build only |
Wallets and keys you supply
| Provider | What Cashboard uses it for | Key | Route |
|---|---|---|---|
| Blockscout | Balances and prices for a watch-only EVM Portfolio (and Net worth through it), and followed wallets in Smart money and Smart money graph on Base, Ethereum and Robinhood Chain. Only the first page of results is read. | Optional on desktop. Required for Smart money and Smart money graph on Robinhood Chain. | Function for the EVM Portfolio. Direct for Smart money and Smart money graph on Base and Ethereum, without a key. |
| Coinbase RPC | The native balance of an EVM Portfolio when Blockscout does not answer, with no price and no tokens. | Your own endpoint, desktop only | The app |
| Dune | Dune query: the latest cached result of the query you pick. Each read spends credits from your Dune plan, and Cashboard never runs a query. | Your own key, desktop only | The app |
How fresh a number is
Every reading carries two times. The observed time is the provider's own timestamp for the number, when it publishes one: when CoinGecko last updated a price, or when Yahoo Finance recorded the last trade. The received time is when Cashboard got the answer. Blockscout and Solana wallet reads carry no provider timestamp, so for them both times are the moment Cashboard read the wallet.
The source line and the freshness pill
Every data widget names its source on a line under its title, and shows how fresh its data is in a pill at the right of its header. A reading up to two minutes old reads Live with the age, such as Live · 12s. An older one reads Updated with the age, such as Updated 3m, Updated 5h or Updated 2d. A connected stream stays Live while nothing new prints. The pill turns amber with Stale and the age when a refresh failed and the widget kept its last data, and rose with Source down while the widget shows an error card. Loading, Connecting and Paused cover the other states, and some widgets show a fixed status instead, such as Live embed on an embedded dashboard. The i button beside the pill opens How to read this widget, a note on formulas, caveats and limits.
| Widget | Age shown in the pill | Why it can read old |
|---|---|---|
Prices, Watchlist | The oldest provider timestamp among the coins on the list | A thinly traded coin can read minutes old although Cashboard asked seconds ago. A streamed Binance price carries Binance's own time. |
Stocks | The oldest last-trade time | After the close and on weekends the age is the time since the last trade. The widget names the session with Open, Pre-market, After hours or Closed. |
Price chart | When Cashboard received the candles | After 3 minutes a stale tag appears beside the price (next table). |
Portfolio, watch-only | When Cashboard read the wallet | Cashboard stamps a wallet read with its own read time, not a time from the provider. |
Portfolio, manual | The oldest CoinGecko timestamp among the coins you hold | The Stale tag and the dimming count from when Cashboard received the prices instead, so the pill can read older than the tag suggests. |
Perps positions | The time Hyperliquid reports for the account value | The widget dims after 30 seconds. |
Liquidity X-ray | The time Hyperliquid reports for the order book | The sizing table dims after 15 seconds (next table). |
Prediction markets | Markets: the update time of the first market listed, and Waiting for live data until the first answer. Whales: when Cashboard last updated the list. | On Markets the age follows the venue's own update time, not the moment Cashboard asked. On Whales, Polymarket can take up to five minutes to show a new bet. |
Real-world assets, Stablecoin risk, Market flows | When Cashboard received the snapshot | The provider's own timestamp is not shown. |
L2 scoreboard | When Cashboard received the figures. | growthepie publishes once a day, and its daily figures describe the last full UTC day, so they can be a day old or more while the pill reads Live. |
Chain status | The newest block read across the networks shown | Each network also has a Live, Lagging or Stalled chip of its own. |
Dune query | No age. The pill says read followed by the age of its result. | Dune caches results, so read is when Cashboard received the result, not when Dune ran the query. |
While a widget waits for its first reading, the pill usually reads Loading, so an age means something only when numbers are on screen. The Jupiter swap and EVM swap pills always read Live, because those widgets hold no market data of their own.
Stale tags and their thresholds
Beyond the pill, a few widgets flag a reading that has aged. The limits are fixed, and several of the clocks run on a timer, so a tag can appear without any request having failed.
| Widget | What you see | When it appears |
|---|---|---|
| Price chart | An amber tag such as stale · 4m beside the price | Candles received more than 3 minutes ago. The clock is re-read every 15 seconds. |
| Portfolio | An amber Stale tag, and the holdings dim to 60% opacity | More than 90 seconds since the last read for a watch-only address, and more than 45 seconds for a manual portfolio. |
| Perps positions | The account area dims to 60% opacity | The snapshot is more than 30 seconds old. |
| Liquidity X-ray | The sizing table dims to 60% opacity under an amber line: Stale snapshot. Depth and prices may have changed. | The order book is more than 15 seconds old, counted from the older of the time Hyperliquid reports and the time Cashboard received it, and the clock is re-read every second. If the book's time is more than 5 seconds ahead of your own clock, the line reads Snapshot clock mismatch. Treat these figures as historical. |
| Chain pulse | The Block tile turns amber and reads stalled or stale with the age | stalled: no new block for more than 60 seconds. stale: the last refresh failed, or none has arrived for 45 seconds. |
| Chain status | A chip: Live, Lagging, Stalled or No age | Decided by block age. Solana is Live under 5 seconds and Lagging under 30. Ethereum uses 30 and 120 seconds. Every other EVM network uses 15 and 90 seconds. Latency is green under 300 ms, amber under 1,000 ms and red above. |
| Net worth | A stale tag on a source row | That source's latest refresh failed, so its figure is the last reading. There is no time limit. |
| Robinhood stock tokens | A stale tag, and the premium is dimmed | The cash price in a premium is over 15 minutes old. When a premium compares against a Yahoo Finance cash price, the column also carries pre-market, after hours or closed to say that price is held at the last regular close, or session n/a when Yahoo names no session. |
Widgets that keep the last reading on screen after a failed refresh usually say so:
Prices:Update delayed. Showing the latest available prices.Price chart:Update delayed · showing the last candles.Price alert:Update delayed · showing the last reading.Portfolio:Refresh failed · showing the reading from <age> ago.Perps positions:Hyperliquid did not answer the last refresh · showing the snapshot from <age> ago.Base launchesandNarratives: the provider name, thendid not answer the last refresh · showing the previous snapshot.Token terminal:The last refresh failed · showing the previous snapshot, followed by the reason.Smart money graph:Refresh failed. Showing the last received observations.Liquidity X-ray:Refresh failed. Showing the last received snapshot.Dune query:Refresh failed · showing the read from <age>, with an age such as5m ago.Solana edgeadds· update delayedto its source line.
Other widgets, such as Solana radar, keep the last data and show no line at all. The age in their freshness pill keeps growing, so compare it with the interval in Refresh cadence.
When a provider is slow, limited or down
Cashboard tries a failing provider quickly, falls back where it has a second source, and then says plainly what it has. A dead provider does not freeze a board.
Retries and timeouts
| Step | Waits up to | Tries again |
|---|---|---|
| Web: browser to a Cashboard function or the relay | 12 to 15 seconds | No. The widget's own retries, below, apply. |
| Web: the relay to a provider | 8 seconds | No. The one exception is Yahoo Finance, which is asked again on its other host after a rate limit answer. |
| Web: the prices and candles function to CoinGecko, and to Binance as the fallback | 6 seconds | Once more after 180 ms, on a timeout, a network error or the statuses 408, 425, 429, 500, 502, 503 and 504. |
| Desktop: the app to CoinGecko, and to Binance as the fallback | 4 seconds | Once more, after 250 ms or the provider's own wait of up to 1.5 seconds, on a rate limit, a server error, a network error or a timeout. A request that fails with your Demo key is repeated once without it. |
| Yahoo Finance quotes | 6 seconds | Once more after 200 ms, on the same statuses as above. After a rate limit the retry goes to Yahoo's other host. |
Hyperliquid accounts and funding (Perps positions, Net worth, Funding rates, Solana edge, Paper trading) | 12 seconds | Once more after 250 ms, on a rate limit, a server error, a timeout or a network error. |
Hyperliquid markets and Hyperliquid pulse | 12 seconds | The reads of the builder (HIP-3) dexes are asked once more after 400 ms on a rate limit, a server error or a dropped connection; the other reads are not. A dex that still fails is shown from its last good reading for up to 10 minutes, or left out. Identical requests made within 10 seconds share one answer. |
Liquidity X-ray order book | 8 seconds | No. The widget retries once, then waits for its next 5 second refresh. |
| Blockscout, and Solana wallet reads | 12 seconds | No. Cashboard has no special handling for a rate limit answer: the read fails and the widget tries again at its next refresh. |
| Backed (xStocks) | 4 seconds | No. The price comes from the Jupiter token index instead. |
| Every other provider | 8 to 20 seconds, depending on the provider | No. The widget's own retries, below, apply. |
On top of these steps, most widget queries retry twice before they show an error, after 0.75 seconds and then 1.5 seconds. Prices, Watchlist and Price chart retry three times, after 1, 2 and 4 seconds. Smart money, Smart money graph, Swap fees, Liquidity X-ray and the Whales view of Prediction markets retry once. Token terminal retries once, and not at all after a rate limit or an unknown token. Dune query retries once, unless Dune rejected the key, has no cached result or is rate limiting the key. Returning to the window does not trigger a refresh.
Fallbacks
Prices,WatchlistandPrice chart: for 12 major coins (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, DOT, LTC and TRX), Binance's spot price in USDT stands in when CoinGecko does not answer. InPricesandWatchlistthe source line saysCoinGecko · Binance fallback, orCoinGecko · Binance livewhile streamed prices are on screen, and its info note then names the fallback.Price chartsaysBinance fallbackfollowed by the candle width. Fallback rows have no market cap, volume, day range or sparkline, and the fallback candles are 15 minutes, 1 hour or 4 hours wide for the1D,7Dand30Dranges.Trending on-chain: when GeckoTerminal does not answer or returns an error, DexScreener's boosted tokens fill the list, but never theNewsort. The source line then readsDexScreener boosted, and these are paid placements. The DexScreener fallback does not cover Robinhood Chain or Gnosis, so those two show the error card instead.Tokenized stocks: the xStock price comes from the Jupiter token index when Backed does not answer in time.Portfolioon an EVM network, desktop only: when Blockscout fails and you saved a Coinbase RPC for that network, the widget shows the native balance alone, with no price and no tokens, and the source line readsCoinbase RPC.Liquidations: if Bybit's ranking of its busiest contracts cannot be read, Cashboard follows a fixed list of 20 large USDT perps instead.Robinhood stock tokensmeasures a premium against Robinhood's own quote for the token. Where Robinhood has none, the top 8 rows use the Yahoo Finance cash price.Base stock tokensuses Coinbase's Chainlink NAV when Robinhood has no share quote, and that NAV can be hours old.
Last-good values
When a provider drops one coin or one stock from an answer, or fails on a chart, Cashboard re-serves the last reading it had for that item, with its original timestamp, instead of a blank. This covers coin quotes, candles and stock quotes. On desktop the last-good values live in memory until you quit the app, or until you save or clear a connection in Connections. On the web they live in memory on the function that answered, so they can disappear when it restarts. The timestamp is not renewed, so the age in the pill keeps growing and an old chart gets its stale tag.
The unavailable state
A widget with nothing to show says so instead of inventing a number. The error card names the problem and, unless the widget has a more specific line, adds The data source did not respond. Your board is still saved. A Try again button reads Retrying… while it works. Many cards add that nothing is cached, for example No cached list is shown. An empty answer from a working provider is a different card, such as No tokens returned. A single missing figure inside a working widget reads n/a.
A widget built from several providers drops only the part that failed:
Perps riskmarks a venueLimitedorUnavailablewhile the other venues stayLive.Launchpad radarsayspump.fun did not answer · showing LaunchLab only, orRaydium LaunchLab did not answer · showing pump.fun only.Solana yieldshides Kamino's lending rates withKamino did not answer. Lending rates are hidden instead of reused.Tokenized stocksshowsn/afor a leg that did not answer, and the premium that needs that leg readsn/atoo.Robinhood stock tokenssaysRobinhood quotes did not answer · premiums use the Yahoo Finance cash price for the top 8 rows, orRobinhood registry did not answer · logos and multipliers are limited, so premiums show n/a.Base stock tokenssaysRobinhood share quotes did not answer · premiums use Chainlink's NAV, which can be hours old.Net worthtags a sourceunavailable, counts the rest, and adds a line such asPartial total · 1 source did not answer.
Approximate values, verified prices and promoted items
The approximate marker
≈ marks an estimate. It appears in only five places: the Net worth total, the dollar value of the burn in Ethereum pulse, the lamport cost and the hours to rewards in Solana pulse, the share of unclaimed fees that is yours in Swap fees after Jupiter keeps its 20% at claim, and the Cost ≈ or Proceeds ≈ column of Liquidity X-ray. Other calculated figures, such as a premium or an annualised funding rate, carry no ≈. The How to read this widget note behind the i button usually gives the formula.
Verified and unverified prices
In Cashboard a price is verified when a provider returned one for that asset. It is not a judgement that the market is deep or the token is safe. A holding without such a price is left out of totals and shown as n/a, never valued at a guess.
- EVM wallets: the price is Blockscout's own price for the token. A token Blockscout cannot price shows
n/a, with the tooltipNo verified price, so it is left out of the total. - Solana wallets: price and logo come from the DexScreener pair with the most liquidity for that token. A token with no pair is listed as
Unverified SPL tokenwithn/a. Cashboard lists at most 20 of them and counts the rest. A token that does have a pair counts at that pair's price however thin the pool is. If DexScreener does not answer at all, no token has a price and the total readsn/a. Hide dusthides holdings under $1 and tokens without a price from the list. An unpriced native coin stays in the list, and the total still counts every priced holding.Net worthcounts only priced balances. A manual portfolio counts only once every asset in it has a price. The subtitle reads<counted>/<total> sources · verified values only, followed by the number unavailable when a source failed.- The Coinbase RPC fallback returns a native balance with no price, so it adds nothing to a total.
Promoted items
Some providers sell placement. DexScreener boosts are paid, and Cashboard keeps them in their own view or behind their own label. In Narratives, the Promoted view lists boosted tokens under the banner Paid placements: teams buy DexScreener boosts. A boost is advertising, not a signal. Each row carries an amber Promoted tag. In Trending on-chain, a list built from boosts instead of GeckoTerminal's ranking says DexScreener boosted in its source line, and the widget note calls it paid placement.
Refresh cadence by widget family
A rendered widget polls its provider on its interval while it is on screen; widgets outside the view are not drawn. While your B Cash access is active and its watch is on, B Cash also requests the sources of watched saved boards outside rendering, roughly every 30 seconds while Cashboard runs, with browser throttling possible and no cloud watch. The refresh icon forces a widget fetch.
| Family | Widgets and how often they refresh | Live stream |
|---|---|---|
| Intelligence tools | Liquidity X-ray: 5 seconds from Hyperliquid L2 depth. Smart money graph: 60 seconds from recent wallet transactions. Market events: saved user-entered dates and sources, with no calendar polling. | None |
| Coin prices | Prices and Watchlist: 15 seconds. Price chart: 60 seconds. | Binance prices in Prices and Watchlist, redrawn about once a second |
| Wallets and accounts | Portfolio: 60 seconds for a watch-only address, 15 seconds for a manual portfolio. Net worth: 60 seconds for wallets, 10 seconds for Hyperliquid accounts, 15 seconds for manual holdings. Perps positions: 10 seconds. | None |
| Hyperliquid and perps | Funding rates: 30 seconds. Hyperliquid markets: 30 seconds, and 60 seconds for the Spot and HIP-3 views. Hyperliquid pulse: 60 seconds. Hyperliquid predictions: 5 seconds for the odds and 30 seconds for the market list and volume. HYPE buyback: 60 seconds, and the DefiLlama holders revenue inside it at most every 10 minutes. Perps risk: 30 seconds. Robinhood perps: 20 seconds. | Hyperliquid marks about once a second, and a trade tape, in Hyperliquid markets. Lighter marks in Robinhood perps. |
| Alerts and paper trading | Price alert: 15 seconds for price rules, 20 seconds for funding and basis rules. Paper trading: 15 seconds for perp marks, 30 seconds for stock marks. | None |
| Stocks and tokenized assets | Stocks: 60 seconds. Tokenized stocks: 30 seconds. Real-world assets: 60 seconds. Robinhood stock tokens: 60 seconds, and 10 minutes for the Dividends view. Base stock tokens: 60 seconds. | None |
| Discovery and prediction markets | Trending on-chain: 20 seconds on New, 60 seconds on the other sorts. Token terminal: 60 seconds. Narratives: 120 seconds. Prediction markets: 30 seconds for Markets, 60 seconds for Whales. Solana radar: 20 seconds on New, 45 seconds on the other views. Base launches: 30 seconds. | None |
| Solana | Solana edge: 20 seconds. Solana pulse: 10 seconds, and 30 seconds for its SOL price. Solana yields: 60 seconds. Raydium pools: 60 seconds. Solana DEX share: 5 minutes. Swap fees: 60 seconds. Smart money: 60 seconds on Solana, 120 seconds on the EVM networks. Launchpad radar: 20 seconds on New and Momentum, 15 seconds on Graduating, and on Robinhood Chain 20 seconds for New and 30 seconds for Graduating. | PumpPortal launches in the New view on Solana, and Robinhood Chain events on Robinhood Chain |
| Stablecoins and flows | Market flows: 5 minutes. Stablecoin risk: 5 minutes for the supply list and 30 minutes for the yield pool list, because DefiLlama serves the list from a cache of about 30 minutes. | None |
| Builder codes | Base builders: 60 seconds for Rank and Movers, 30 seconds for Mine, and 6 seconds for Live, which polls only while the widget is on screen and the tab is visible. | None |
| Networks | Chain status, Chain pulse and Ethereum pulse: 15 seconds. L2 scoreboard: 30 minutes, although growthepie itself publishes once a day, and 3 hours for the larger economics file behind Rent 30d, which is fetched only while that view is open. ETH options: 30 seconds, and 5 minutes for its DVOL reading. | None |
| Liquidations | Liquidations does not poll. It listens to the exchange streams. | Binance, Bybit and OKX |
| Dune | Dune query re-reads at most every 15 minutes, and only after a successful read. | None |
Known gaps
These are limits of the data, not faults. Where a widget cannot show a figure, it says so instead of filling the gap.
| Bridge volume | 402: DefiLlama bridges are paid. DefiLlama serves bridge volume only on its paid plan, and Cashboard has no field for a DefiLlama key. Market flows no longer has a Bridges tab. Its L2 capital tab shows the value secured on layer 2s from L2BEAT instead, which is a different measure from bridge volume, and no substitute bridge figure is shown. A board saved on the old Bridges tab opens L2 capital. |
|---|---|
| ETF flows | No provider feeds them, so Market flows has no ETF tab and no stale or unverified figure takes its place. A board saved on the old ETFs tab opens L2 capital. |
| CoinGecko keys | Only a Demo key is supported, and only in Cashboard Desktop under Connections. A Pro key cannot be entered. The Demo key applies to prices, watchlists and charts. The category lists behind Real-world assets and Robinhood stock tokens are read without it. Cashboard does not document CoinGecko's numeric limits for the public or Demo tier. |
| Perps coverage | In Perps risk, Aster and Jupiter Perpetuals carry a Limited badge whenever they answer. Aster's public API has no venue-wide open interest. Jupiter publishes 24 hour volume for SOL, BTC and ETH, but no comparable open interest or funding. Cashboard shows no figure rather than an estimate. |
| Liquidations | Binance and OKX send at most one liquidation per contract per second, so totals are a floor, not a full count. Bybit is followed for its 60 busiest USDT perps only. All three exchanges block US users, so from the United States the badge may stay on Reconnecting. |
| Network coverage | Trending on-chain has no data for Arc. Watch-only wallets cover 13 of the 15 networks, because BNB Chain and Avalanche have no wallet provider. |
| Brokers | No broker or trading account is connected, and Cashboard accepts no broker or trading credentials. Alpaca appears in an internal provider list as a placeholder, and nothing reads from it. |
Blockscout limits
- Cashboard calls Blockscout for two things only: watch-only EVM balances in
Portfolio(andNet worththrough it), andSmart moneyon Base, Ethereum and Robinhood Chain. Elsewhere a widget only links to a Blockscout explorer. - Rate limits belong to Blockscout and to your plan with it, so check Blockscout's own site for the current plans. Each Blockscout call waits up to 12 seconds, and only the first page of results is read, so a very long list can be cut short.
- A saved Blockscout connection covers one network for
Portfolio, and every other network keeps using the public Blockscout hosts. The key you save is also used bySmart moneyon all three of its networks, whatever network the connection names. Smart moneyon Robinhood Chain works only with a key, so only on desktop. Without one the widget showsNeeds a Blockscout key.- When checked on 1 October 2026, the PRO gateway at api.blockscout.com answered for Ethereum, Base, Robinhood Chain, OP Mainnet, Arbitrum One, Polygon PoS, Gnosis, Scroll and ZKsync, and did not serve HyperEVM, Linea, Avalanche or BNB Chain. A key adds nothing on those four.
The data sources line in the sidebar
At the bottom of the left tool panel an amber line can read Source status unavailable with a red dot, or N of M data sources unavailable with an amber one. Hover the second form and it lists the names. It looks like a health indicator, and it is not one.
Behind the line sits a list of providers, each with a fixed flag that says whether it is configured. Every public provider is flagged as available by definition. The optional ones, CoinGecko, Blockscout Pro, Coinbase RPC, DefiLlama's paid plan and Alpaca, are never counted. Because the flags do not change, the count message cannot appear today. The only text you can see is Source status unavailable, and it means the desktop app could not load the list. On the web build the list is built into the page, so the line never shows.
A provider that is down does not light this line. To see an outage, look at the widget and its freshness pill, which reads Stale or Source down. The badges on the Connections tab (Connected, Preconfigured and Optional) say only whether a key is saved, and only the Test button on a card contacts the provider. For Cashboard's own service, the status page runs two live checks, a Bitcoin quote and an AAPL stock quote, and reports everything else as configuration, not health.
Frequently asked questions
Why does a widget show an old age right after I refreshed?
Many widgets show the provider's own timestamp, not the moment Cashboard asked. Prices uses the oldest update time among your coins and Stocks uses the last trade, so a thinly traded coin or a closed market reads old even though the request took seconds. The `i` button in the widget header says which clock a widget uses.
What does a stale tag mean?
It means the reading is older than a fixed limit for that widget, or that its latest refresh failed. Price chart tags candles read more than 3 minutes ago. Portfolio tags a reading older than 90 seconds for a watch-only address or 45 seconds for a manual portfolio. Net worth tags a source whose latest refresh failed. What stays on screen is the last good reading.
Do I need an API key to use Cashboard?
Almost never. Nearly every widget reads public data with no key and no account. Two features need a key and run only in Cashboard Desktop: Dune query needs your own Dune API key, and Smart money on Robinhood Chain needs a Blockscout key. Optional keys for CoinGecko Demo, Blockscout and Coinbase RPC raise limits or add a fallback.
Why does Market flows have no Bridges or ETFs tab?
DefiLlama serves bridge volume only on its paid plan and answers HTTP 402, and Cashboard has no field for a DefiLlama key. No provider feeds ETF flows. Both tabs were empty, so they were replaced by an L2 capital tab that shows the value secured on layer 2s, with its canonical, native and external split, from L2BEAT. No substitute bridge or ETF figure is shown.
Does the web app send my wallet address to Cashboard's servers?
For some lookups, yes. A watch-only EVM address, a watch-only Solana address and the Solana wallets you follow in Smart money go to cashboard.live first, which forwards the request to the provider. A Hyperliquid address, and Smart money on Base and Ethereum, go from your browser straight to the provider. Cashboard Desktop calls providers from the app and uses no relay.
What happens when a provider is down?
The widget keeps its last reading where it has one and usually says so, for example with an Update delayed line. With nothing to show it displays an error card and a Try again button. Cashboard does not fill a gap with an invented number: a missing figure reads n/a and is left out of totals.
Last checked against the code on . Found something out of date? Write to contact@cashboard.live. Market data comes from the providers named on each widget and may be delayed. Nothing here is financial advice.
Cashboard