What is in this group
Use the Risk and flows group in the Add panel to check leverage, forced liquidations, stablecoin pegs, money flows, prediction market odds and network health, plus your own Dune queries and MCP tools on desktop. Unfold it to find nine cards. A card label is not always the widget's name, so the table below maps one to the other.
| Add panel card | Widget | Use it to |
|---|---|---|
Perps risk | Perps risk | Compare Hyperliquid, Lighter, Aster and Jupiter Perpetuals on volume, open interest and funding. |
Liquidations | Liquidations | Watch forced liquidations on Binance, Bybit and OKX as they happen. |
Stablecoins | Stablecoin risk | Check pegs, supply moves and yields of the largest dollar stablecoins. |
Flows | Market flows | See stablecoin supply by chain, spot DEX volume and the capital on layer 2s. |
Predictions | Prediction markets | Read live odds from Polymarket and Kalshi, or the biggest recent Polymarket bets. |
Networks | Chain status | Check whether public RPC nodes are keeping up with their chains. |
Heartbeat | Chain heartbeat | Watch each chain's blocks arrive as a live heartbeat line, and see which one goes quiet. |
Dune query | Dune query | Show the latest saved result of a Dune query (desktop only). |
MCP tool | MCP tool | Show one read-only tool of an MCP server you connected (desktop only). |
Controls in a widget header respond once the widget is active. Click a widget to select it and click again to use it (a selected widget shows a Click to use this widget pill); a widget you have just added starts active. Every widget here names its source under its title, shows its freshness in a pill on the right of its header, and has an info button (an i icon) beside the pill that opens a short methodology note. A new Perps risk widget is titled Perps risk terminal, and any title can be changed in the Style tab.
Reading flags and thresholds
Every flag, colour band and alarm level in this group is a fixed value inside Cashboard. No setting changes them, they are the same on every board, and none is tuned to your holdings or risk tolerance. Treat a flag as a prompt to look closer. Nothing in these widgets is trading advice.
| Widget | Signal | Rule |
|---|---|---|
| Stablecoin risk | Watch | Price 0.5% or more away from $1, or supply down 5% in a day, 10% in a week or 20% in a month, or a dollar-pegged asset with no price. |
| Stablecoin risk | High | Price 2% or more away from $1, or supply down 20% in a day, 30% in a week or 50% in a month. |
| Perps risk | Pressure colour | Open interest divided by 24 hour volume: green below 0.8, amber from 0.8, red from 1.5. A colour only, not a flag. |
| Liquidations | Heat card | Heating up at $250,000 or more liquidated in the last 60 seconds, Liquidation cascade at $1,000,000 or more. |
| Liquidations | Size emphasis | Bold size from $100,000. Flame icon and amber ring from $1,000,000. |
| Prediction markets | Whale bets | Only bets of $10,000 or more are listed. Flame icon from $100,000. Green dot and age for the first 5 minutes. |
| Chain status | Health chip | Newest block under 5 seconds old on Solana, 30 on Ethereum and 15 on other EVM networks is Live. Under 30, 120 and 90 seconds is Lagging. Older is Stalled. |
| Chain status | RPC time colour | Green under 300 ms, amber under 1,000 ms, red from 1,000 ms. |
| Chain heartbeat | Red line | Nothing arrived for three times the usual gap between beats, and never less than 3 seconds. Until the gap can be measured, 36 seconds on Ethereum and 3 on the others. |
How the widgets pair
- Leverage:
Perps riskshows where open interest and funding sit across four venues,Liquidationsshows positions being closed by force as it happens, andPerps positionsshows how far your own Hyperliquid positions are from liquidation.Funding ratesranks funding across Hyperliquid markets. The Pressure figure inPerps riskis not liquidation data. - Dollar liquidity:
Stablecoin riskandMarket flowsboth read DefiLlama's stablecoin data, so a depeg flag in one lines up with a supply move in the other.Market flowstakes its total from the daily supply series andStablecoin risksums the per-coin list, so the two totals can differ by a fraction of a percent.Chain statustells you whether the network you settle on is keeping up. - Sentiment:
Prediction marketsputs prices on events such as rate decisions and elections, next to your price and stock widgets. - Research:
Dune querybrings in one query of your choice. It runs in the desktop app only.
Missing and paywalled data
Some data this group points at is not available, and Cashboard says so on screen instead of estimating. As of October 2026:
| Data | State | What you see |
|---|---|---|
Bridge volume (was in Market flows) | 402: DefiLlama bridges are paid. DefiLlama answers HTTP 402 and serves bridge volume only on its paid API plan. Cashboard has no field for a DefiLlama key. | Market flows has no Bridges tab. Its L2 capital tab shows value secured on layer 2s from L2BEAT, which is a different measure. |
ETF flows (was in Market flows) | Cashboard has no source for them. | Market flows has no ETFs tab, and no figure takes its place. |
| Open interest on Aster and Jupiter Perpetuals, funding on Jupiter Perpetuals | Their public APIs do not expose comparable figures. | A Limited chip, n/a for open interest and Pressure, and the reason under the card. |
| Liquidations on on-chain venues | The widget reads three exchange streams: Binance, Bybit and OKX. | Hyperliquid and other on-chain venues are not in any total. |
| Dune results on the web | Reading Dune needs your own API key, and only the desktop app can store a key. | A dimmed card with a Desktop badge in the Add panel, and Dune works in Cashboard Desktop in a Dune widget that arrives on a web board. |
The Data sources page lists every provider and how each is reached. Keys for the desktop app are explained in Connections.
Perps risk
Compares four perpetual futures venues side by side on 24 hour volume, open interest and a positioning ratio, and shows how far their funding rates for BTC, ETH and SOL disagree. Use it to see where leverage sits and where funding differs between venues. It does not measure liquidations.
| Add panel | Risk and flows, then Perps risk |
|---|---|
| Works in | Web and desktop |
What it shows
- Four venue cards, always in this order whatever the filter says:
Hyperliquid,Lighter,AsterandJupiter Perpetuals. Each shows a status chip (Live,LimitedorUnavailable), 24 hour volume with its share of the four-venue total (<n>% of volume),OI(open interest in dollars), the market count (<n> mkts) andPressure. Pressureis open interest divided by 24 hour volume, to two decimals: green below 0.8, amber from 0.8, red from 1.5, andn/awhen the venue publishes no open interest. When a venue is notLive, the reason appears under its card and in its tooltip.- Beside the filter,
<total> 24h across <n> venues. The count includesLimitedvenues and leaves out onlyUnavailableones. - One panel per asset, titled
BTC funding spread,ETH funding spreadorSOL funding spread: the gap between the highest and the lowest venue rate as a percentage per hour with four decimals, then/h, the same gap annualised (% APR) and the number of reporting venues. - In each panel, one bar per reporting venue, centred on zero: green to the right for a positive rate, red to the left for a negative one, labelled with the venue's annualised rate. All panels on screen share one scale.
How to use it
- Choose
All,BTC,ETHorSOLin the control at the left of the header to pick which funding panels are drawn. The venue cards stay. - Press the refresh icon to read all four venues now. Otherwise the widget reloads every 30 seconds.
- Hover a venue card to read why that venue is
LimitedorUnavailable.
Settings
| Setting | What it does |
|---|---|
| Asset filter | All, BTC, ETH or SOL, set with the control in the header. Default All. It filters the funding panels only, and it is saved with the board. |
Data and refresh
- The public APIs of Hyperliquid, Lighter, Aster and Jupiter Perpetuals, requested in parallel with a 10 second timeout each. A venue that fails shows as
Unavailablewith the failure text as its reason, and the other cards stay. - Hyperliquid supplies volume, open interest and funding, read as a one hour rate. Lighter supplies volume, open interest (markets with a mark price only) and funding, which Cashboard treats as an eight hour rate. Aster supplies volume and funding, with the interval read per symbol and eight hours as the fallback, but no open interest. Jupiter Perpetuals supplies volume for SOL, BTC and ETH only.
- Reloads every 30 seconds. On desktop the app shares one result for 30 seconds. On the web, the Aster requests go through Cashboard's relay on cashboard.live and the other venues are called straight from your browser.
Good to know
- Pressure is a positioning-per-turnover proxy, not liquidation data. A high number means a lot of open interest compared with the day's trading, not that positions are close to liquidation. Use
Liquidationsto see forced closes. - Only Hyperliquid and Lighter publish open interest here, so Pressure exists for two venues. Aster and Jupiter Perpetuals are always
Limited, by design and not because of an outage. - The
% of volumeshares mix definitions: Hyperliquid reports notional volume, Lighter and Aster report quote-token volume, and Jupiter its own volume figure. Read the shares as indicative. - Only BTC, ETH and SOL are compared. Annualised figures are the hourly rate times 24 times 365, without compounding. A panel where no venue reports a rate reads
n/a /h · n/a APR · 0 venuesand has no bars. By the usual convention a positive rate means longs pay shorts.
Pairs well with Liquidations, Funding rates, Perps positions, Hyperliquid markets. See the Perps risk widget page for a ready-made board.
Liquidations
A live tape of forced liquidations on Binance, Bybit and OKX, with long and short totals, a histogram of the recent window, a cascade alarm and a per-coin ranking. Use it to see when leveraged positions are being closed by force and which side is getting hurt.
| Add panel | Risk and flows, then Liquidations |
|---|---|
| Works in | Web and desktop |
| Needs | No key. The streams open from your own device, and the exchanges block users in the United States, so on a US network they may stay unreachable. |
What it shows
- A summary block:
Longs rekt <gt;on the left,<gt; shorts rekton the right andlast <n> min · <count> printsbetween them (<k> of <n> min seenwhile the page has listened for less than the window). A split bar shows the long share of liquidated dollars in rose and the short share in green. - A 30-bucket histogram of the window: longs above the centre line, shorts below, newest bucket darker. Hover a bucket for
Longs $X · shorts $Y. - A heat card for the last 60 seconds only:
Calm,Heating upfrom $250,000 orLiquidation cascadefrom $1,000,000, with<gt; in the last 60 seconds. ALargestcard names the biggest single liquidation in the window. - Header indicators for
Binance,BybitandOKX(green streaming, amber connecting, red unreachable and retrying) and a badge that readsLivewhen at least one stream is up andReconnectingotherwise. - Tape view, the default: up to 80 rows, newest first, with age, venue chip, symbol, a
LongorShortchip, price and a size bar with the dollar amount. Sizes turn bold from $100,000, and $1,000,000 and above get a flame and an amber ring. - Coins view: the top 30 coins in the window by dollars liquidated, each with rank, total, a long and short bar and a print count such as
12×.
How to use it
- Pick
5m,15mor1hto set how far back the totals, histogram,Largestcard, tape and Coins list look. The heat card ignores it. - Switch between
TapeandCoins. - In Tape view choose
All,$10K+or$100K+to hide smaller prints from the list. Totals, histogram, heat card and Coins still count every print. - Hover a venue indicator for its status. Bybit's tooltip also says how many perpetuals it follows, and OKX's says when contract sizes are not loaded yet.
Settings
| Setting | What it does |
|---|---|
| Window | 5m, 15m or 1h. Default 15m. Set in the header and saved with the board. |
| View | Tape or Coins. Default Tape. |
| Smallest liquidation in the tape | All, $10K+ or $100K+. Default All. Shown in Tape view only, and it affects the list only. |
Data and refresh
- Three public WebSockets opened from your own device, with no relay, key or account: Binance's USD-M futures stream, OKX's swap channel and Bybit's per-contract topics. Bybit has no market-wide topic, so the widget follows the 60 USDT perpetuals with the highest 24 hour turnover, or a fixed list of 20 majors when Bybit's ticker list cannot be read.
- OKX sizes arrive in contracts. Cashboard converts them to dollars with OKX's own contract sizes and skips contracts missing from that list. Those sizes and the Bybit list are fetched once an hour, by the app's main process on desktop and by the browser on the web.
Longmeans a long position was force-sold andShortthat a short was force-bought. Size is price times quantity.- Sockets are shared by every Liquidations widget on the page and reconnect with a delay that grows from 1 to 30 seconds. The buffer keeps the last hour, at most 8,000 prints, in memory only.
Good to know
- Totals are a floor, not an estimate. Binance and OKX publish at most one liquidation per contract per second, Bybit is limited to its busiest 60 USDT perpetuals, OKX contracts without a known size are skipped, and on-chain venues such as Hyperliquid are not included.
- History starts when the page starts listening and covers at most one hour. Nothing is stored, so closing the tab or the app drops it, and the widget collects only while it is on screen. The tape follows the window setting too: a print older than the window leaves the list. A second Liquidations widget on the same page starts with the prints already received.
- Empty states:
Nothing liquidated at this size yetwithPrints appear the moment an exchange force-closes a position.when a stream is live;Connecting to the exchangeswithBinance, Bybit and OKX stream liquidations to anyone outside the US.when none is;No liquidations in this window yetin Coins view;Waiting for the first liquidation…in theLargestcard. - There is no refresh button and no error card. A blocked or failing stream shows as a red dot and the
Reconnectingbadge.
Pairs well with Perps risk, Funding rates, Hyperliquid markets, Prices. See the Liquidations widget page for a ready-made board.
Stablecoin risk
A risk table for the largest US dollar stablecoins: price against the $1 peg (yield-bearing assets carry a NAV tag instead), supply and share, supply change, the best single-asset yield, where the supply sits and a Low, Watch or High flag. Use it to notice a depeg or a sharp drop in supply.
| Add panel | Risk and flows, then Stablecoins |
|---|---|
| Works in | Web and desktop |
What it shows
- In the header, a pill that reads
All pegs healthyor<n> flagged: <SYM>, <SYM>, <SYM>(the first three flagged symbols;WatchandHighboth count, and only visible rows are counted), andSupply <total>, the total of every tracked asset. Asset(logo, symbol, name) andPrice · peg: the price to four decimals, the signed distance from $1 to three decimals and a gauge spanning 1% either side of $1. The marker is green under 0.5% away, amber from 0.5% and red from 2%. It readsn/awithout a price.- A yield-bearing asset, one DefiLlama flags because its price rises as it accrues yield (tokenized treasury funds such as USYC and USDY), shows its price with a
NAVtag andaccrues yieldinstead of the distance and the gauge. ItsRiskchip says on hover that it is rated on supply changes only. Supply · share: circulating supply in dollars, its share of all tracked supply and a bar.1d: the one day supply change, with the seven day change beneath as7d(hover for 7d and 30d).Yield: the APY of the largest single-asset stablecoin pool for that ticker outside credit projects, with the project name beneath (hover for project and chain). It readsn/awhen no pool lists the ticker, a pulsing bar while the pool list loads, andsloworerrorwhen it could not be read, with a notice above the table. A credit pool appears only when the ticker has no lending pool of a fair size, and then the project name is followed by· credit.Top chains: the first two chains by supply and a bar of the top four.Risk: a chip that readsLow,WatchorHigh.
How to use it
- Choose the row count in the header:
Top 5,10,15or25. A value saved by a template or board, such as 12, is added to the list. - Press the refresh icon to read DefiLlama now.
- Hover the peg gauge for the exact price and deviation, and the chain bar for each chain's percentage.
Settings
| Setting | What it does |
|---|---|
| Row limit | 5 to 25 rows, offered as Top 5, 10, 15 and 25. Default 10. Saved with the board. |
Data and refresh
- DefiLlama only, in two separate reads. The stablecoin list with prices has a 10 second timeout and fails into the widget's error card. The yield pool list, an 11 MB file, has a 20 second timeout and is read on its own, so the table appears without waiting for it and the rates fill in when it arrives. If that read times out the
Yieldcells showslow, if it fails they showerror, and a notice names the problem. Rates from an earlier good read stay on screen under that notice. - Only assets with a US dollar supply figure are listed (as of October 2026 that leaves out coins pegged to the euro, pound, yen and other currencies, and variable-peg assets). Rows are sorted by supply, largest first, then cut to the row limit. Share and the header total use all listed assets, not only the visible rows.
- Supply change compares circulating supply with DefiLlama's figures for one day, one week and one month earlier. Deviation is the price minus $1, in percent, for dollar-pegged assets that have a price and are not yield-bearing. Yield is the pool with the greatest TVL among stablecoin pools with single-asset exposure whose ticker equals the asset's, skipping credit projects. Credit projects are the ones DefiLlama lists as uncollateralized lending plus Maple, whose Syrup pools fund institutional loans. The list is kept by hand, so a new credit project shows without the mark until it is added. A lending pool replaces a larger credit pool only if it holds at least a tenth as much TVL.
- The supply list reloads every 5 minutes and the pool list every 30 minutes, or after 2 minutes following a failed read. DefiLlama serves the supply list from a cache of about 30 minutes, and the file itself can be older. The header pill shows its own timestamp as
data <age> ago, taken from the Last-Modified header, ormay lag 30m+when there is none. On desktop the app shares the supply list for 60 seconds per row limit and the pool list for 15 minutes, and a failed pool read for 1 minute. On the web the browser calls DefiLlama directly, with no shared cache.
Good to know
- The risk rules are fixed.
High: the price is 2% or more from $1, or supply is down 20% in a day, 30% in a week or 50% in a month.Watch: the price is 0.5% or more from $1, or supply is down 5%, 10% or 20% over the same periods, or a dollar-pegged asset that is not yield-bearing has no price at all. Everything else isLow. - Yield-bearing assets are not compared with $1. They are built to trade above it: on 10 October 2026 DefiLlama priced USYC at 1.1397 and USDY at 1.1487. For an asset DefiLlama flags as yield-bearing, the widget shows no distance, skips the missing-price rule and rates it on supply drops alone, so a run on it still turns the chip
WatchorHigh. A fall of its price is not checked, so read the price beside the tag. As of October 2026 DefiLlama also flags YLDS, whose price sits near $1, and a few small assets this way. - The deviation text is grey under 0.05% and red above, in either direction. The price is DefiLlama's, not Cashboard's own market price, so it can differ from an exchange quote. The yield match is by ticker text only, so two assets that share a ticker show the same yield.
- Empty and error states:
No stablecoin rows returnedwithThe source responded successfully but has no assets to show., andStablecoin monitor is temporarily unavailablewith aTry againbutton. A widget that already has data keeps showing it when a refresh fails.
Pairs well with Market flows, Chain status. See the Stablecoin risk widget page for a ready-made board.
Market flows
Stablecoin supply, DEX trading volume and the capital sitting on Ethereum layer 2s in one view: how much dollar stablecoin exists and how it moved over 1, 7 and 30 days, which chains hold it, which venues trade the most, and how much value layer 2s secure, split into canonical, native and external. Bridge volume and ETF flows have no free source, so they have no tab.
| Add panel | Risk and flows, then Flows |
|---|---|
| Works in | Web and desktop |
| Needs | No key. 402: DefiLlama bridges are paid, and ETF flows have no source, so neither is shown. |
What it shows
- The header: tabs
Overview,DEXandL2 capital, thenStables <total> <±x.xx% 7d>, orLiquidity entering and leaving cryptobefore data arrives. Overview, stablecoin tile:Stablecoin supplyas a total with two decimals, a 30 day sparkline, chips1d,7dand30dwith signed percentages, and the source lineDefiLlama · latest snapshot, <Mon d> UTC. The total is the latest snapshot of DefiLlama's daily series, not a daily close, and the chips and the sparkline read that same series. If the series cannot be read, the tile sums the coin list instead, readsDefiLlama · sum of <n> coins, no change dataand showsn/ain the chips.Overview, two more tiles:DEX volume · 24hwith1dand7dchanges andTop: <protocol>, andL2 capital · TVSwith the total value secured on layer 2s,1dand7dchanges andTop: <chain>.Where stablecoins sit(share of chain-tracked supply): up to six chains with bar, dollars and share.Busiest DEXs(24h spot volume): the top five protocols with chains, volume,<x.x>% shareand 1d change.Biggest layer 2s(value secured, 7d change): the four layer 2s with the most value.DEXtab: the total (DEX spot volume, 24h) with1dand7d, thenVolume by chainandTop venues, up to eight rows each.L2 capitaltab: the total with two decimals besideValue secured on layer 2s, chips1d,7dand30d, a line readingLatest snapshot <Mon d, hh:mm> UTC(amber and readingStale: last L2BEAT reading ...once it is more than 24 hours old) and a sparkline.Where the value came from(share of total · 7d change): a stacked bar and three rows,Canonical,NativeandExternal, each with dollars, share and seven day change.Activity(all tracked chains):Transactions · <day>,UOPS · <day>andTransactions · 7d averagewith avs prior 7dchip and a 30 day sparkline.Biggest layer 2s(value secured · <n> layer 2s): up to ten rows with rank, logo, name, category, stage, anUnder reviewflag where L2BEAT sets one, dollars,<n>% of L2sand the seven day change.
How to use it
- Click a tab to switch section. The choice is saved with the board.
- Press the refresh icon to read DefiLlama and L2BEAT now.
- Open the
ibutton in the header for the definitions of supply, DEX volume and value secured. On theL2 capitaltab the header pill shows the age of L2BEAT's own reading, not of your last refresh.
Settings
| Setting | What it does |
|---|---|
| Section | Overview, DEX or L2 capital. Default Overview. Set with the tabs in the header and saved with the board. A board saved on the old Bridges or ETFs tab opens L2 capital. |
Data and refresh
- DefiLlama for stablecoins and DEX volume, L2BEAT for layer 2 capital. Each refresh makes up to six requests in parallel, each with its own timeout (10 seconds for DefiLlama, 12 for L2BEAT): DefiLlama's daily stablecoin supply chart, supply by chain and the DEX volume overview, and L2BEAT's value secured, project list and daily activity. If the supply chart fails, one more request reads the coin list as a fallback. Each part fails on its own, so a failed part shows a short notice and the rest still loads.
- Stablecoin total: DefiLlama's daily total for US dollar stablecoins. Its newest point is the latest snapshot of the current day, not a daily close. The
1d,7dand30dchanges compare that point with the point stamped exactly 1, 7 and 30 days earlier, and readn/awhen that day is missing. The headline, the changes and the sparkline come from this one series, so they agree.Stablecoin risksums the per-coin list instead, so its supply total can differ from this one by a fraction of a percent. - Chain split: DefiLlama's stablecoins by chain. Shares are of that feed's own total over every chain it lists, which differs a little from the headline because the two feeds count differently.
- DEX volume counts spot DEXs only: DefiLlama's
Dexscategory, without venues booked entirely off chain. DefiLlama's overview also lists prediction markets and launchpads, which are filtered out.1dcompares with the previous 24 hours and7dwith the same day a week earlier. - L2 capital: the l2beat.com website API (
tvs,summaryandactivityunder/api/scaling), which is free, needs no key and has no published contract, so Cashboard reads it defensively and skips any row it cannot parse. Total value secured (TVS) is the sum of canonical, native and external value across layer 2s. The1d,7dand30dchanges compare the latest snapshot with the reading nearest that many days earlier. Readings are 3 to 6 hours apart and the series currently covers about 30 days, so a window it does not reach readsn/a. A chain's seven day change is L2BEAT's own figure. Layer 3 chains such as Hyperliquid are not part of L2BEAT's layer 2 total, so they are not listed. Transactions and UOPS (user operations) are L2BEAT's daily counts across the chains it tracks, for the last full UTC day; a day still in progress is left out. - Bridges: 402: DefiLlama bridges are paid. DefiLlama answers HTTP 402 for bridge volume because it serves it only on its paid API plan, no key can be entered for it, and Cashboard no longer requests it. ETF flows: there is no source.
- Reloads every 5 minutes. On desktop the app shares a result for 60 seconds. On the web every request goes straight from your browser to the provider.
Good to know
- On the
L2 capitaltab a chain's share is of the combined value of every layer 2 in L2BEAT's project list, which can sit a fraction of a percent apart from the headline because the two are read at slightly different moments. AnUnder reviewflag is L2BEAT's, and that chain's value is still counted. - Value secured is not bridge volume and not a count of users. It is the dollar value of the assets held on a layer 2 at the snapshot. Canonical value came over the chain's own bridge, external value over a third-party bridge, and native value was issued on the layer 2 itself.
- Partial states:
Chain split is temporarily unavailable.,DEX volume is temporarily unavailable.,Activity is temporarily unavailable.,The canonical, native and external split is temporarily unavailable.,The chain list is temporarily unavailable.andPublic feed unavailableon the tiles. If L2BEAT cannot be read at all, the tab saysL2 capital is temporarily unavailable. Try refreshing in a moment.If nothing loads the widget showsFlows are temporarily unavailablewith aTry againbutton. Overviewshows the top six of the eight chains read for the stablecoin split. Ann/amarks any figure that could not be read; Cashboard does not estimate.
Pairs well with Stablecoin risk, Chain status, Chain pulse, L2 scoreboard. See the Market flows widget page for a ready-made board.
Prediction markets
Live odds from Polymarket and Kalshi in one list, or the largest recent Polymarket bets. Each market row shows the leading outcome's probability, its venue, volume and time to resolution.
| Add panel | Risk and flows, then Predictions. The command palette (Ctrl K on Windows, Cmd K on macOS) also offers Add Polymarket whale bets ($10K and up), which adds the widget on the Whales view with the title Polymarket whales. |
|---|---|
| Works in | Web and desktop |
What it shows
- Markets view, one row per market: an avatar, the event title in grey when it differs from the question, the question, the leading outcome's probability as a large percentage with its name beneath, and a bar.
- Under the question: a venue pill (
PolymarketorKalshi), a chip▲ N pts 24hor▼ N pts 24hwhen the move is at least 0.5 points and the venue reports one, and up to two more outcomes as<name> <pct>%. - At the right:
Vol $X(Polymarket, dollars) orVol N ct(Kalshi, contracts),· Liq $Xwhen known, and the time left:ends in 5h,ends in 12d,ends Mar 2027orending. - Whales view:
<n> bets of $10K+ · <total> in total, then one row per bet with the market title,Bought <outcome>orSold <outcome>, the price asat 62¢, its age (42s ago), the trader's name when there is one, a size bar and the amount with the captionbetorsold. Bets under 5 minutes old get a pulsing green dot, and $100,000 or more a flame and an amber tint.
How to use it
- Switch between
MarketsandWhales. - In Markets view pick a category:
No sports,Crypto,Macro,Politics,SportsorAll. If a category leaves few rows, raise the row limit, because the filter works on a pool three times the limit. - Choose
Top 5,Top 10,Top 15orTop 20in the row limit select, which appears only while the widget is active. It also caps the Whales list. - Press the refresh icon to reload the current view.
- Hover a row and click its link icon to open the market page: in a new
Web appwidget on the same board on desktop, in a new browser tab on the web.
Settings
| Setting | What it does |
|---|---|
| View | Markets or Whales. Default Markets. |
| Category | No sports, Crypto, Macro, Politics, Sports or All. Default No sports. Markets view only. Changing it reapplies the filter to the rows already loaded. |
| Row limit | 5, 10, 15 or 20. Default 10. Changing it loads a new list. |
Data and refresh
- Polymarket (public Gamma API): active events by 24 hour volume, one row per event using its highest-volume active market, so one football game or one Fed meeting is one row. Kalshi: open markets without multivariate combinations, ordered by 24 hour volume within the page Kalshi returns, so several strikes of one event can appear.
- The two lists are interleaved one for one, starting with Polymarket, into a pool of three times the row limit (at most 60). The category filter is then applied and the result is cut to the row limit. It is not one global ranking, since Polymarket volume is in dollars and Kalshi volume in contracts.
- Probabilities are Polymarket's outcome prices; for Kalshi, Yes is the midpoint of the best bid and ask when both exist (otherwise the last price, bid or ask) and No is 1 minus Yes. Categories come from Polymarket event tags and from words in Kalshi tickers, the first match winning in the order sports, crypto, macro, politics. Anything unmatched is
otherand shows underAllandNo sportsonly. - Whales: Polymarket's public data API, the latest 50 trades of $10,000 or more, newest first. Polymarket can delay a bet by up to five minutes. Names are Polymarket pseudonyms or names the trader chose; wallet-like names are dropped.
- Markets reload every 30 seconds and whales every 60, and only the visible view loads. On desktop the app shares results for 30 seconds. On the web, Kalshi requests of up to 100 markets go through Cashboard's relay and Polymarket is called from your browser. If one venue fails the other still shows.
Good to know
- Probabilities are market prices, not forecasts. The 24h chip is Polymarket's move for the first listed outcome, usually Yes; when the leading outcome is the other side, the arrow describes the opposite side. Kalshi rows never carry it.
- Whales covers the latest 50 trades only and shows up to the row limit, so it is not every bet. Kalshi volume stays in contracts, so
Vol N ctandVol $Xcannot be compared directly. - Empty states:
Nothing in <category> right nowwith<n> active markets were filtered out. Switch the category to see them.(with the default category it readsNothing in no sports right now), andNo active markets returnedwith aRefresh marketslink. Whales:No bets of $10,000 or more lately. - Errors with nothing loaded:
Prediction markets are temporarily unavailableandPolymarket bets are temporarily unavailable, each with aTry againbutton. The source line readsPolymarket + KalshiorPolymarket data API, and the pill readsWaiting for live datauntil the first market reading.
Pairs well with Stocks, Tokenized stocks, Paper trading. See the Prediction markets widget page for a ready-made board.
Chain status
Checks the public RPC endpoint of up to 15 networks and shows, for each, how old the newest block is, the current fee, the block height and how long the check took. Use it to see whether a chain, or the public node you depend on, is falling behind.
| Add panel | Risk and flows, then Networks |
|---|---|
| Works in | Web and desktop |
What it shows
- A chip at the top left,
<n>/<total> live, green when every row isLiveand amber otherwise, thenfastest RPC <Chain> · <ms> ms. - One row per network: the logo with a health dot, the name and
RPC <ms> ms(green under 300 ms, amber under 1,000 ms, red from 1,000 ms), thenFee,Blockand a status chip with<n>s ago. Fee: gwei on EVM networks (three decimals, two significant digits below 0.01) andµL/CUon Solana with aksuffix from 1,000;n/awhen the node gives no figure. A small trend line appears after three readings.Block: the height in compact form such as12.3Mor1.2B, with the full number on hover. The status chip readsLive,Lagging,StalledorNo age, withage n/awhen the block time is unknown.- The source line reads
Public RPC, and the pill shows the age of the newest block read. It readsSource downwhen every network failed.
How to use it
- Make the widget active to reveal a chip row of all 15 networks:
Ethereum,Base,Solana,Arbitrum One,Robinhood Chain,Arc,HyperEVM,BNB Chain,Polygon PoS,OP Mainnet,Avalanche C-Chain,Linea,Scroll,ZKsync EraandGnosis. Click a chip to add or remove a network. At least one must stay selected. - Rows keep the order in which you added the networks.
- Press the refresh icon to recheck every network now, or the retry icon on a failed row to recheck that one.
Settings
| Setting | What it does |
|---|---|
| Networks | Any 1 to 15 of the networks above. A new widget starts with Ethereum, Base, Solana and Arbitrum One. The chip row appears only while the widget is active. Saved with the board. |
Data and refresh
- One public RPC endpoint per network, the first one Cashboard lists for it, with no key: Ethereum and Solana through PublicNode, Base at mainnet.base.org, Arbitrum One at arb1.arbitrum.io, Robinhood Chain at rpc.mainnet.chain.robinhood.com, Arc at rpc.mainnet.arc.io, HyperEVM at rpc.hyperliquid.xyz, BNB Chain at bsc-dataseed.bnbchain.org, Polygon PoS at polygon.drpc.org, OP Mainnet at mainnet.optimism.io, Avalanche C-Chain at api.avax.network, Linea at rpc.linea.build, Scroll at rpc.scroll.io, ZKsync Era at mainnet.era.zksync.io and Gnosis at rpc.gnosischain.com.
- On EVM networks the chain id (checked against the expected one), the gas price (
eth_gasPrice) and the latest block number are requested at once, then that block is fetched to read its timestamp. On Solana the slot, block height and recent prioritization fees are requested at once, then the block time of that slot. Each call times out after 10 seconds. - Block age is the time Cashboard received the reading minus the block's own timestamp, in whole seconds, on your device's clock.
RPC msis the elapsed time of the whole read, from the first request until the block timestamp is back. It is not a ping: three requests run in parallel and a fourth follows, so it covers at least two round trips plus the node's work, measured from your device. - Fee: on EVM networks the node's suggested gas price in gwei; on Solana the median of the node's recent prioritization fees in micro-lamports per compute unit.
- Each network refreshes every 15 seconds, with two retries. On desktop the app shares a result for 15 seconds per network. On the web the browser calls the endpoints directly.
Good to know
- Health is decided by block age alone. On Solana a block is
Liveunder 5 seconds old,Laggingunder 30 andStalledbeyond. Ethereum uses 30 and 120 seconds. Every other EVM network uses 15 and 90 seconds.No ageappears when the node gives no block time. LaggingorStalledcan mean the chain is slow or that the one public node you are reading is behind. The widget cannot tell the two apart. A clock that is several seconds off on your device moves every age by the same amount.- The EVM fee is the node's suggested gas price, which can differ from the protocol's base fee. The trend line holds the last 24 readings since the widget appeared on screen (about six minutes), is not saved, and is green when the latest value is at or below the first.
- A failed row reads
RPC temporarily unavailablewith a retry button, and an endpoint that reports a different chain id than expected fails the same way. A new widget is titledChain status, although its Add panel card isNetworks.
Pairs well with Stablecoin risk, Market flows, Chain pulse. See the Chain status widget page for a ready-made board.
Chain heartbeat
Draws up to six chains as live heartbeat lines, one beat for each new block: Ethereum about every 12 seconds, Hyperliquid about 14 times a second, and Solana, Arbitrum One, Base and Robinhood Chain in between. Use it to see how each chain is ticking and to notice when one goes quiet. It shows the rhythm as it reaches your browser, not an official block time.
| Add panel | Risk and flows, then Heartbeat |
|---|---|
| Works in | Web and desktop |
| Needs | No key. The widget opens WebSocket connections from your device, so a network or firewall that blocks them shows Cannot reach any node from this network. As of October 2026 this widget is in the hosted web build. Cashboard Desktop 0.4.2 does not include it. |
What it shows
- One strip per chain, in the order you chose. On the left: the chain's logo and name with a status dot, its rhythm (
14 blocks/sor1 block per 12 s, in slots on Solana) and the age of its latest block (last block 2.4 s ago). On the right: a line that scrolls left over the last 20 seconds, flat between beats, with a heartbeat-shaped spike at each new block. - Spike height. On Ethereum and Base it is how full the block is: gas used over the gas limit, from 15% to 100%. Base blocks use a small share of a large limit, so its spikes mostly sit at the 15% floor. On Arbitrum One, Robinhood Chain and Hyperliquid it is the block's gas used (its transaction count on Hyperliquid) against the 95th percentile of the last 240 blocks, and until 8 blocks have been seen the spikes are drawn at half height. Solana spikes are all the same height, and a small notch under the line marks a slot number the node never announced.
- The header:
<n>/<total> live, green when every line is live and amber otherwise; a red<n> flatchip while any line is flat;last 20 s, the width of the trace; and theSoundbutton. - Status words under each name:
connecting,waiting for the first block,last block <age>,offline - retrying, and in redno block for <n> s(no sloton Solana). - Hover a strip to read its latest block: the number, how full it is or how much gas it used and, on Hyperliquid, the transaction count and the proposer's address.
- When no chain can be reached, one message reads
Cannot reach any node from this network, with aRefreshlink.
How to use it
- While the widget is active, click a chain's chip to add or remove its strip. At least two chains stay. A chain you add goes last.
- Click
Soundfor a quiet tick on each block, pitched differently for each chain and limited to eight a second per chain. Click it again to turn it off. - Click
Refreshin the unreachable message to reopen the connections at once. - With your system's reduced motion setting on, the lines stop scrolling: each beat is a still tick mark, and the picture refreshes once a second.
Settings
| Setting | What it does |
|---|---|
| Chains | Any 2 to 6 of Ethereum, Arbitrum One, Base, Robinhood Chain, Solana and Hyperliquid. A new widget starts with all six, in that order. Saved with the board. |
| Sound | On or off. Default off. The choice is saved, but a browser only allows sound after a click, so a board reloaded with sound on shows the button off until you click it once. |
Data and refresh
- Each chain's own public WebSocket feed, opened from your browser or app with no key: Ethereum, Arbitrum One, Base, Robinhood Chain and Solana through PublicNode, and Hyperliquid at rpc.hyperliquid.xyz. The EVM chains send each new block header, Solana each new slot, and Hyperliquid each block with its transaction count and proposer.
- A beat is stamped with the time it reached your device, not with the chain's own block time, so the rhythm includes your network and the node. Lines are drawn only while the widget is on screen and the page is showing. After 60 seconds in a hidden tab the connections close, and they reopen when you return, with the lines starting empty again.
- A dropped connection retries after 1 second, then waits twice as long each time up to 30 seconds. Hyperliquid is pinged every 20 seconds to keep its connection open. Two heartbeat widgets on one board share the same connections.
Good to know
- A line turns red when nothing arrives for three times the usual gap between its beats, and never sooner than 3 seconds. Until enough beats have arrived to measure that gap, Ethereum waits 36 seconds and the other chains 3. Red can mean the chain, the public node or your own connection, and the widget cannot tell them apart. A failed connection reads
offline - retryinginstead. - The rhythm figure averages the last 10 seconds of arrivals, so it can read high or low just after a burst of blocks.
- Arbitrum One and Robinhood Chain report a gas limit of 2^50, which says nothing about how full a block is, so their spikes compare each block with the recent ones instead.
- After a reconnect, Solana slots are not compared with the ones from before, so a reconnect never shows as skipped slots. On Hyperliquid the blocks the node replays on connecting only set the scale; the newest one is the beat.
- This is not a status page. For block age and fee per network, use Chain status.
Pairs well with Chain status, Chain pulse, Ethereum pulse.
Dune query
Shows the latest saved result of a Dune query as a table, a line chart or a bar chart, read with your own Dune API key. Use it to keep a query from dune.com next to the rest of your board. It reads saved results and never runs the query.
| Add panel | Risk and flows, then Dune query. On the web the card is dimmed and marked Desktop, and clicking it opens a dialog titled Dune query runs in the desktop app. |
|---|---|
| Works in | Cashboard Desktop only |
| Needs | Your own Dune API key, saved under Dune in Connections (see Connections). Each read spends credits from your Dune plan. |
What it shows
- The header: a query button with the query's title, or
Query <id>, that opens the picker (tooltipChoose a query); a summary such as100 rows · updated 3h agoor100 of 4,200 rows · updated 3h ago; the view switchAuto,Table,Line,Bar; a link icon that adds the query's dune.com page to the board as aWeb appwidget; and a refresh icon. - The query picker, shown when no query is set or when you click the query button: a
Query ID or linkfield with aShowbutton, aPresetslist (Public queries) andRows to read. Table: every column and row that was read, with a sticky header and Dune's column order. Numbers are compact with the exact value on hover, times are UTC, and empty cells readn/a.Line: numbers over time, up to four series, with a hover tooltip, a legend for two or more series and an axis that starts at zero when the data allows it.Bar: one number per label, at most 25 bars, captioned<value> by <label>.- Without a key, a card titled
Connect your Dune API keywith the steps and the buttonsGet an API keyandCheck again. The source line readsDuneand the pillread <age> ago.
How to use it
- Create an API key at dune.com/settings/api.
- On desktop open
Connections(the plug icon at the top of the tool panel; Ctrl \ or Cmd \ shows the panel when it is hidden), paste the key intoAPI keyunderDuneand pressSave. Dune widgets on screen reload at once. - Press
Testto check the key. It reads one row of a public query, spends credits for that row and answersDune accepted the API key.The trash icon (Clear saved credentials) removes a saved key. - Pick a preset, or type a query number (
3213428or#3213428) or a link such asdune.com/queries/3213428/5387463intoQuery ID or linkand pressShow. A dashboard link is refused, because a dashboard holds several queries. - Choose
Rows to read:25,100,250or1,000. More rows cost more credits and trigger a new read. - Pick
Auto,Table,LineorBar. A view the current columns cannot support is disabled, and its tooltip says what it needs, for exampleNeeds a date column, a number column and at least two dates.
Settings
| Setting | What it does |
|---|---|
| Query | Any query number from 1 to 1,000,000,000. A new widget starts on 3213428 (DEX volume by chain). The other presets are 3919233 pump.fun on Solana DEXs, 2834571 Base daily transactions, 5951751 Hyperliquid open interest and 1941407 ETH staked by category. |
| Rows to read | 25, 100, 250 or 1,000. Default 100. Set in the picker. |
| View | Auto, Table, Line or Bar. Default Auto. If a saved chart view cannot be drawn for the columns, the widget shows Auto without forgetting the choice. Picking another query resets it to Auto. |
| API key | Not a widget setting. It is saved under Dune in Connections, encrypted with the operating system's secure storage, and applies to every Dune widget. Saving is refused when only basic text storage exists. |
Data and refresh
- Dune's API: the latest cached result of the query, with the key sent only in a request header to api.dune.com and never in a URL. Cashboard never starts a run. Dune bills each read in credits by the size of the result, so Cashboard asks only for the rows you chose; Cashboard does not state the credit cost of a read, so check your Dune plan.
- On desktop each query and row setting is shared for 5 minutes, so the refresh button within that time returns the read you already have and the pill's
readtime stays old. The widget rereads on its own every 15 minutes, but only after a successful read. A request times out after 20 seconds and is retried at most once, never for a rejected key, a missing cached result or a rate limit. updated <age> agois when Dune last finished running the query (the UTC time shows on hover). The pill'sread <age> agois when Cashboard last received the result. All dates and times in the widget are UTC.- The web build makes no Dune request at all.
Good to know
- The widget is as fresh as Dune's last run of the query. To get newer data, run the query on dune.com. Cashboard cannot run it, pass parameters, sort or filter, and it reads single queries, not dashboards.
- Errors:
Dune rejected your API key(wrong, revoked or expired);No cached result yet(Dune answers the same way for a private or deleted query, so the widget cannot tell them apart);Dune is rate limiting your key; andThis Dune query could not be readwith Dune's reason, such asDune is still running this query. Try again in a minute.orDune took too long to answer. Try again in a minute. - A refresh that fails while rows are on screen shows
Refresh failed · showing the read from <age>in an amber bar. The widget dims to 60% while a new row limit loads. An empty result readsThe latest run returned no rows. AutopicksLinewhen there is a date column with numbers and the date is the first column or the rows run in date order,Barfor exactly one text column and one number column with at most 25 rows, andTableotherwise.Lineneeds at least two dates. When rows repeat a date for several categories it draws one line per category from the first number column, the four largest by total size, with+N more <column> valuesfor the rest; the first value for a date wins and nothing is summed. Otherwise each number column is a line, up to four, and a column more than 20 times larger or smaller than the first is left out (+N more columns) so one axis stays readable.- On the web, a Dune widget that arrives with a shared or imported board shows
Dune works in Cashboard DesktopwithGet Cashboard DesktopandOpen <title> on dune.com. See Cashboard Desktop and lifetime access.
Pairs well with Chain pulse, Market flows, Stablecoin risk. See the Dune query widget page for a ready-made board.
MCP tool
Shows what one tool of an MCP server you connected returns, as plain text, a table, a list of fields or a number. It calls only the tool and arguments you saved, on a timer, and never acts on the answer.
| Add panel | Risk and flows, then MCP tool. On the web the card is dimmed and marked Desktop. |
|---|---|
| Works in | Cashboard Desktop only |
| Needs | A server added under MCP servers in Connections, either a remote HTTPS address with an optional token or a local command you confirmed. See Agents and MCP servers. |
What it shows
- A new widget shows
Choose a serverand the setup form:Server,Tool, the arguments the tool asks for,Refresh every (seconds)andShow as(Auto,Table,Key and value,One number,Plain text). - The result, with the server name as the source line and
Updated <age>in the header pill. Images and audio are not shown. - When a refresh fails after a success, the last result stays, dimmed, under an amber bar that gives its age and the reason.
How to use it
- Add a server under
Connections, thenMCP servers, and pressTestto see its tool count. - Pick the server and the tool. Only tools the server marks as read-only are listed.
Show tools that may change thingslists the others, and choosing one needsAllow this tool in this widget. - Fill the arguments. Strings, numbers, true or false and fixed choices have their own fields; anything else goes in
Other arguments (JSON object). - The gear icon (
Change tool or arguments) reopens the setup, and the refresh icon calls the tool now.
Settings
| Setting | What it does |
|---|---|
| Refresh every (seconds) | 60 by default, never lower than 15. |
| Show as | Auto by default. |
| Allow this tool in this widget | Needed once for a tool that is not marked read-only. It applies to that tool in this widget only. |
Data and refresh
- The call runs in the app's main process, which holds the server address and token. The widget receives only the result. A call waits at most 20 seconds, and a result over 256 KB is cut with a notice.
- The result is displayed as text. It is never read as an instruction, never sent to B Cash or any model, and never part of the data an agent can read from your board.
Good to know
- Share links, templates and imported boards keep the widget but remove the server and the arguments, so it opens as an empty
Choose a servercard and makes no call. - If the server is removed from Connections, the widget says
This server is no longer in your list. - A local command server runs on your computer with your user rights. Add only programs you trust.
Pairs well with Dune query.
Frequently asked questions
Why does Market flows have no Bridges or ETFs tab, and what is L2 capital?
402: DefiLlama bridges are paid. DefiLlama serves bridge volume only on its paid API plan and answers HTTP 402, and Cashboard has no field for a DefiLlama key. ETF flows have no source in Cashboard at all. Both tabs were empty, so they were replaced by L2 capital: the dollar value secured on Ethereum layer 2s, split into canonical, native and external, with each chain's seven day change and daily transactions, all read from L2BEAT. It is not bridge volume. Those statements hold as of October 2026.
Can I change the thresholds that mark a stablecoin as Watch or High?
No. The limits are fixed in Cashboard and are the same on every board: Watch starts at 0.5 percent away from the peg and High at 2 percent, with separate supply-drop limits for one day, one week and one month. You can change how many rows are listed, but not what counts as a flag.
Does the Dune query widget work in the web app?
No. Dune results need your own Dune API key, and the web app has no secure place to keep one. Add the widget in Cashboard Desktop, save the key under Dune in Connections, and pick a query by its number or link. The web app shows the card dimmed with a Desktop badge.
What does RPC ms in Chain status measure?
The time the whole status check took from your device, not a single ping. Each refresh sends three requests in parallel to one public node and then a fourth to read the newest block's timestamp, so the figure covers at least two round trips plus the node's own work. Use it to compare nodes, not to judge how fast a chain is.
Why are the Liquidations totals lower than other sites show?
The totals are a floor. Binance and OKX publish at most one liquidation per contract per second, Bybit is followed on its 60 busiest USDT perpetuals, and on-chain venues are not included. Counting also starts when the page starts listening, so a fresh board needs time to fill.
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