Where these numbers come from
0.9.53This dashboard reads the Bitcoin blockchain itself. It runs on a full Bitcoin node with an ord index attached, so most of what you see is worked out from blocks and the mempool directly, rather than taken from someone else's API.
New here? Take the 30-second guided tour on the dashboard itself, or keep reading below for the long version.
The short version
The chain first. Anything Bitcoin can answer (pending transactions, blocks, sales, mints, protocol activity, wallet movements) is read from our own node. Outside sources are used only for the two things the chain genuinely cannot tell you: what something is listed for, and what a bitcoin is worth in dollars.
Every section, and its source
Every panel, grouped. Each group lists what is in it, so the page can be searched with everything shut.
Wallets and what they holdProfit and loss, Atrium XBT (holdings), Wallet activity, Holdings by collection, Asset mix, Runes & tokens, Bitmap districts, Rare sats, Gallery, Wallets of interest, Watched runes & BRC-20
| Section | Where the numbers come from | Updates |
|---|---|---|
| Profit and loss | What each held inscription cost (from a sale our node saw, or traced back through our ord index to the purchase, mint or transfer that brought it in), set against the Holdings valuation. Private dashboards only | Every 10 minutes; your holdings refresh on their own schedule. |
| Atrium XBT (holdings) | Our own ord index: what each wallet holds, and its balance. Which collection an item belongs to, and its traits, come from our own registry. Values come from the sales our own node saw | From ord every 10 minutes; values every 10 minutes; rune prices every 12 hours. Both also run shortly after you add or remove a wallet. |
| Wallet activity | Our node: new mempool transactions and each new block, matched against the wallets' own coins | Live: pending transactions show within about 30 seconds, confirmations with each block. Coins are re-read from the node every 6 hours. |
| Holdings by collection | Each collection's value from the sales our own node saw, with its 7-day change and 30-day volume | Every 10 minutes. |
| Asset mix | The portfolio total split by kind: inscriptions and Bitmap valued from our own node's sales, runes at their market rate, and spendable BTC from our own ord index | With the portfolio, every 10 minutes. |
| Runes & tokens | Balances from our own ord index. Prices from the trades our own node saw | Balances every 10 minutes; prices every 12 hours. |
| Bitmap districts | Which inscriptions are districts: each text inscription's content matched against “N.bitmap”, read from our own ord index (ordinals.com until it has caught up). Every district's picture is drawn here from its own block on our node; claimed parcels from the district's children in our ord index. Value from the district sales our own node saw | Every 12 hours (values every 10 minutes). |
| Rare sats | Our own ord index | Every 6 hours, once ord is running. |
| Gallery | Items from our own ord index, names and traits from our own registry. Every picture is rendered here from the inscription's own on-chain content, served by our node. HTML and recursive pieces open in a live viewer that runs them sealed off from the dashboard | Items every 10 minutes from ord; a picture is drawn once and kept. |
| Wallets of interest | Our node only: a full scan of the coin set, then every new block and mempool transaction | Our node follows each block and mempool transaction; this card re-asks when the dashboard gets an update, at most every 10 seconds, while the tab is open. Full re-scan every 6 hours and whenever the list changes. |
| Watched runes & BRC-20 | Our node: prices and sales from the confirmed rune-sales scan; mints and BRC-20 inscriptions decoded from blocks and the mempool | Each time you open the tab; sales every 10 minutes, blocks within 15 seconds. |
The mempool and blocksCheapest times to send, Which pools mine inscriptions, Being bought right now, Mempool Pulse, Block view, What it costs to get in, Stuck transaction?, Protocol mix, Mempool over time, Protocol share by block, Chain calendar
| Section | Where the numbers come from | Updates |
|---|---|---|
| Cheapest times to send | Our node's blocks from the last four weeks (fewer on a newly started dashboard; the card says the real number): the rate that reliably got in, by day and hour | Every 10 minutes. |
| Which pools mine inscriptions | Our node's blocks from the last 30 days, and our mempool at the moment each block arrives: what each pool could have included and left out | Every new block. |
| Being bought right now | Our node's mempool: pending transactions filling a marketplace listing; the item from our ord index, an earlier sale of it, or its mint | Every 30 seconds. |
| Mempool Pulse | Our node's mempool. BTC/USD estimated from our node's blocks | Every 30 seconds; the price with each new block. If the node can't be reached, the panel keeps its last reading and says how old it is. |
| Block view | Our node. Upcoming blocks assembled the way miners do (highest fee rate first, parents pulled in); mined blocks read from the chain | Upcoming blocks every 30 seconds, mined blocks within 15 seconds. |
| What it costs to get in | Fee rates inside our node's projected blocks: the lowest rate that made it into each upcoming block, its range and median | Every 30 seconds. |
| Stuck transaction? | Our node: the transaction's fee, its unconfirmed parents and children, the relay rules, and the projected blocks | Checked when you press Check. |
| Protocol mix | Every pending transaction in our node, read byte by byte: a Runestone output means Runes (or Alkanes), an inscription envelope means Ordinals, BRC-20 if the content says so, and any other OP_RETURN output means Other OP_RETURN | Every 30 seconds. |
| Mempool over time | The same counts, saved every 5 minutes and kept for 7 days | A new point every 5 minutes; the last 7 days are kept. The 7-day view shows hourly averages. |
| Protocol share by block | Every transaction in each block, read the same way | Each new block within 15 seconds; the last week is kept. |
| Chain calendar | Block arithmetic from our node's height (difficulty every 2,016 blocks, halving every 210,000) and rune mints whose window hasn't opened | Each new block. |
Collections and their salesUnderpriced sales, Top inscription flippers, New collection radar, Inscription sales, Market pulse, Sales activity, Value change, Collections, Sales in the mempool, Collection pages
| Section | Where the numbers come from | Updates |
|---|---|---|
| Underpriced sales | Inscription sales and pending purchases at least 30% below the collection's value at the time, adjusted for the item's best-evidenced trait | Confirmed sales every 10 minutes; pending purchases from our node's mempool every 30 seconds (the list on screen refreshes every 2 minutes). |
| Top inscription flippers | Wallets that bought an inscription and later resold the same item, from 30 days of sales our node found | Every 10 minutes. |
| New collection radar | Parent inscriptions our node first saw minting children within the last week, and how fast they're minting now | Every new block; the mempool every 30 seconds. |
| Inscription sales | Our node's blocks: listing-signed transactions without rune data. Price and wallets from the transaction; the inscription from its reveal, from other sales of the same item, or from our ord index | Each new block within about a minute; the week before loads in the background (about 3 hours). |
| Market pulse | Inscription sales our node found in its own blocks, counted per hour or per day; unique buyers are distinct buying addresses | Each new block within about a minute; the panel re-reads at most once a minute. |
| Sales activity | Daily inscription sales from our node's blocks over 30 days, with the BTC/USD price behind every dollar figure as the trend line | Sales as blocks arrive; BTC/USD every hour. |
| Value change | Each collection's value from the sales our own node saw, and its change over 7 days, for the collections the dashboard follows | Every 10 minutes. |
| Collections | Every collection the dashboard follows: its value, 7-day change, 30-day volume and sales, all from the sales our own node saw | Every 10 minutes. |
| Sales in the mempool | Our node's mempool: rune transactions signed the way marketplace listings are, run through the same sale check as confirmed blocks | Every minute. A sale leaves this list when it confirms (it then appears in the Activity feed and on the rune's page) or drops out of the mempool. |
| Collection pages | Membership from the Wizards of Ord registry resolved against our own ord index (or the Magic Eden archive); holders from our ord index; sales our node found, and the value from them; trait premiums measured from those sales | Sales as blocks arrive; holders daily; value and holder history hourly. |
Runes, names and other tokensNames (.sats, .btc …), Rune pools, Other token protocols, Open rune mints, Mint radar, Heatmap, Rune market Greeks
| Section | Where the numbers come from | Updates |
|---|---|---|
| Names (.sats, .btc …) | Our node: every Sats Names registration in its blocks, new ones as they arrive and older ones read back towards the first inscription. The first inscription of a name is the valid one; who holds it comes from our ord index | Every new block; older blocks a slice every 2 minutes until the start is reached. |
| Rune pools | RichSwap's public ticker list for pool price, spread, volume and liquidity. Our own node for the BTC held at each pool's address, and for the trades the market price is compared against | RichSwap's figures hourly; the BTC in each pool every 6 hours (reading it ties up the node's one UTXO-set scan). |
| Other token protocols | Our node: TAP, ORC-20, BRC-20 Prog and other JSON token operations in new inscriptions, counted by operation. Counts, not balances | Every new block; the mempool every 30 seconds. |
| Open rune mints | Mint terms from each rune's etching transaction; mints from our ord index, or from every block this dashboard has processed | Every 5 minutes. |
| Mint radar | Our node: Runestones and inscription envelopes decoded per transaction | Pending every 30 seconds; blocks within 15 seconds. |
| Heatmap | Pending, or just what is in the next block. The same decoded mints and inscriptions, grouped by what they are: media, BRC-20 tickers, names, bitmap districts, other token protocols, and runes | Follows the Mint radar window. |
| Rune market Greeks | Prices per token from the same confirmed sales; hourly BTC/USD estimated from our node's blocks; market cap from the rune's supply | Every 10 minutes. |
Prices, signals and market checksMarket indexes, Wash trading, Leading markets, Price cross-checks, Activity feed, Hot runes, Signals, Bitcoin in the news, Hot BRC-20 tickers, Hot collections
| Section | Where the numbers come from | Updates |
|---|---|---|
| Market indexes | Both from our own node: Ordinals from the sales of the ten collections that sold most by value; Runes from the trades of the ten most-traded runes | Hourly. |
| Wash trading | Our node's sales and trades, checked against four rules | Every 10 minutes. |
| Leading markets | The collections you hold, from the sales our own node saw: value, 7-day change, 30-day sales, buyers and volume | Every 10 minutes. |
| Price cross-checks | Each collection's value from 90 days of sales against the median of its last 7 days, both from our own node | Every 10 minutes. |
| Activity feed | Confirmed rune sales found in each block, wallet badges from the last 7 days of those sales, and minting activity from stored blocks | Sales every 10 minutes (history loads in the background); the feed is rebuilt at most once a minute. |
| Hot runes | The same sales: each rune's last 24 hours against its own previous days, plus today's mints | With the Activity feed: sales every 10 minutes, the list at most once a minute. |
| Signals | This dashboard's own alerts: sales, price moves, mints and etchings, and wallet activity it noticed | Each new block and every few minutes for prices. |
| Bitcoin in the news | Public RSS feeds. Only the headline, the publisher, the time and the link are stored, never any article text | Every 30 minutes. |
| Hot BRC-20 tickers | Our node's blocks, and nothing else: a BRC-20 transfer names its ticker in its own inscription content, so every sale our node finds already carries the ticker, the price and both wallets | Sales with each new block, within about a minute; the list is worked out again at most every 30 seconds. |
| Hot collections | The collection sales our own node saw, scored the same way as Hot runes | Every 10 minutes. |
The outside sources, and what each is for
- No marketplace data. Since 12 October 2026 no collection value, rune price or wallet holding comes from an outside marketplace or indexer. A collection's value is the median of at least 3 clean sales our own node saw in the last 90 days (a dash with fewer, left out of every total); a rune's price is the trades our own node saw; what a wallet holds is our own
ordindex. - No outside wallet data. Since 13 October 2026 a wallet's balance, and how much of it is spendable versus locked in inscription- or rune-carrying outputs, comes only from our own
ordindex. While ord is catching up the page shows the last balance it gave, with its date, rather than asking anyone else. - No outside price feed. Since 13 October 2026 the BTC/USD price is estimated from our own node's blocks: people pay round dollar amounts, so a day's payments cluster at the sats amounts that equal $10, $20, $100 and so on at that day's rate, and where those clusters sit gives the price. It is a day's average of what people paid, not an exchange quote, and an estimate the method isn't sure of is marked as low confidence.
- ordinals.com: the content of small text inscriptions, when identifying Bitmap districts, and only until our own
ordindex has caught up and can serve that content itself. - RichSwap: publishes its liquidity pool addresses, so pool trades can be marked as venue activity rather than as somebody's signal, and each pool's price, spread, volume and liquidity for the Rune pools table.
- Wizards of Ord collection registry: a community-curated, public-domain (CC0) list of which inscriptions make up which collection, with the curators' own flags on entries that are disputed or need information. Together with its archive of Magic Eden's former collection lists, it's how a sale or a holding gets a collection name.
- European Central Bank, through Frankfurter: the daily US dollar to Chinese yuan reference rate, used only for the CNY price option. If a day's rate can't be read, the last one stays; with none, prices stay in dollars.
- Bitcoin Magazine and CoinDesk: their public RSS feeds, for Bitcoin in the news. Only the headline, the publisher, the time and the link are kept.
What we work out ourselves
These aren't fetched from anywhere. They're computed from chain data, and each has a limit worth knowing.
- Which name is valid. Sats Names follow "first is valid": of every inscription of
alice.sats, only the earliest counts. We read name inscriptions straight from our node's blocks, by the spec's rules (lower case, cut at the first space, exactly one dot). Until our scan of older blocks reaches the first inscription, a name is shown as "first since block N" rather than as certainly valid. - Which pools filter. When a block arrives, our node compares its mempool with what the pool mined: of the transactions that had waited and paid comfortably above that block's cutoff, how many inscriptions and runes the pool left out, against how many ordinary ones. A pool leaving out most well-paying inscriptions while including ordinary transactions is filtering.
- Wash trades. Sales where buyer and seller are the same, an item goes there and back, the same two wallets trade with each other three or more times in both directions (one buyer sweeping one seller's listings is not counted), or the seller's own coins paid for the purchase. They're shown, labelled, and left out of every statistic.
- Rune sales. A transaction where one party pays and another receives runes, with a clear payer and payee above a threshold. Checked against known real sales before it was trusted. About 1 in 9 goes through a marketplace listing; the rest are pool swaps and direct trades.
- Inscription sales. Transactions carrying a marketplace listing signature and no rune data. The price is the output paired with the signed input. Identifying which inscription moved is the hard part. It comes from the reveal transaction, from other sales of the same item, or from our
ordindex, and sales that can't be placed say so rather than guessing. - Projected blocks. Built locally with a simplified version of Bitcoin Core's own block-assembly rule. A miner may choose differently.
- Fee advice. Replacement and child-pays-for-parent fees, from the node's relay rules. It only calculates. Nothing is ever signed or broadcast.
- Wallet badges (whale, smart money, venue). From the last 7 days of on-chain sales: traded volume, realized profit on round trips, and how many different counterparties a wallet trades with.
- Venue labels. No marketplace publishes its fee address, so recurring fee addresses are derived from the sales themselves: an address paid by many unrelated buyers and sellers. Labels carry a confidence level, and anything uncertain says “unknown marketplace” rather than naming a venue.
- Rune Greeks and Hot runes. Volatility, momentum and 24-hour standouts from confirmed sales only. Thin markets give rough numbers, and each rune shows its own confidence.
- What a trait is worth. Each sale is compared with the collection's typical sale that same week, so a trait's premium isn't just the market moving. It needs 10 sales in the collection and 3 with the trait; otherwise the item is valued at the floor and says so.
- Holders. Who owns each item, read from our
ordindex and moved to the buyer as soon as a sale is seen. Nothing is shown until owners of 90% of a collection are known. - Profit and loss. Cost is followed back through the chain from where each item sits now. A purchase costs its price plus the buyer's share of the fee; a mint costs its network fees; an item that was given to you has no known cost and is shown that way, not guessed.
- Bitmap pictures. Each transaction in the block is a square sized by the value it moved, packed the same way as bitfeed (MIT licence), so a district looks the way the bitmap marketplaces draw it.
Looking up your own wallet
Paste any Bitcoin address into settings and the dashboard will show what it holds. It's a public question about a public address: it gives nobody access to anything, and this dashboard never asks for a private key or a seed phrase. Your wallet is asked to sign a transaction only on the marketplace and minting pages listed in the terms, each of which shows you what you are signing first. Anyone who asks for more is not us.
Without an account, the address isn't tied to you. It stays in the tab you typed it into and is gone when you close it. Nothing on the server records who looked at what, and there's no list of your wallets anywhere. What an address holds is kept on the server for up to a day, against the address itself, which is public either way, so a second look is quick; then it is deleted.
The flip side is that the dashboard won't remember it for you: one wallet at a time, re-entered each visit. If accounts are open here and you sign in, the wallets you save are kept on your account so they follow you between devices; the privacy page lists what an account keeps.
- It can show the inscriptions, runes and bitmaps an address holds right now, its balance, and how much of that balance is locked up in coins carrying an inscription or a rune.
- It can't show its history: what it bought and sold, and when. That needs an index of spent transactions this dashboard doesn't have yet.
- It prices what it can. A floor price has to be fetched per collection, so items in collections this dashboard already follows get valued and the rest are listed but not counted. You'll always be told how many of each rather than shown a total that quietly leaves things out.
The answers come from this dashboard's own index of the blockchain, not from an outside API, which is why looking up a stranger's wallet costs nothing and isn't rationed. It does mean the feature only works once that index has finished building. Until then it says so.
What this dashboard does not have
- Order-book depth. Nobody publishes live listings and bids at a public price, so you get floor and top bid, not a full ladder.
- BRC-20 values. A wallet lookup lists BRC-20 balances from our own BRC-20 indexer (OPI) when it is connected and caught up, but doesn't value them, so they aren't in the wallet value.
- Reliable venue attribution. Sales are found wherever they happen, but which marketplace a sale went through can only be inferred, and often can't be.
- Anything about unconfirmed intent. A listing nobody buys leaves no trace on the chain, so it isn't here.
Honest caveats
- Mints are attempts. A rune mint past its cap still appears in the Mint radar; only
ordcan say whether it took. - Thin markets move on a few sales. Check the sale count before reading much into a price change.
- Volume can be faked. Zero-fee venues are the cheapest place to wash-trade, so sale counts and distinct buyers sit beside volume, and our own realized sales are treated as the ground truth.
- A floor is the lowest ask, not a valuation. A vanity listing at a silly price doesn't move a floor, but a thin collection's floor can be nudged by one cheap trade. That's why two sources are shown side by side and flagged when they disagree.
- Moving an existing inscription or rune looks like an ordinary payment until
ordhas indexed it. - A node keeps at most 300 MB of pending transactions, so mempool counts can differ from other mempool viewers'.
- A value from recent sales is not an asking price. It is what items actually sold for, so a collection whose cheapest listing has dropped since its last sales still shows the older median until new sales arrive.
How to check any of it yourself
- A holding: paste the inscription ID into ordinals.com: same owner, same content.
- A sale: every sale row carries its transaction ID, linked to our own transaction page: the inputs, outputs and amounts are right there.
- A collection's value: open its page here. The Median sale figure lists every sale behind it, each with its transaction ID.
- A block or a fee: any Bitcoin explorer shows the same blocks. Ours are simply read from our own copy of the chain instead of someone else's.
How live is “live”
Different sections move at different speeds, and each says when it last updated. Blocks and the mempool are seconds; sales and wallet holdings (from our own ord index) are minutes; collection values from those sales every ten minutes, and rune prices twelve-hourly. Nothing is “as of page load”. The timestamp shown is the last successful fetch for that source, so a stale section looks stale instead of quietly wrong.
Privacy
The privacy page is the complete, plain-language account. In brief:
Accounts are optional, and the privacy page lists what one keeps. The wallet addresses shown are public blockchain data. Without an account, nothing that identifies you as a visitor is stored unless you hand it over, and there are exactly two ways to do that. The feedback form stores what you type into it (and the contact line only if you fill it in) and passes it to our Discord's feedback channel, where that copy is deleted after 90 days. Asking us to add a collection does the same, and shows the name or handle you picked only if you asked to be credited by it. Neither keeps a name, an IP address, or anything joined to the visit counts below. If you use neither, this site holds nothing that identifies you.
That includes the visitor counting, which is built so that no visit can be tied to a person, or to any other visit. On the server we keep counts per day (and, for page views and open dashboard tabs only, per hour of day in UTC -- nothing finer, and no other count gets this) and nothing else:
- how many times each page was opened, including by hour of day (used only to see which hours are quiet enough to make changes without disrupting anyone), the hostname a visitor arrived from (“t.me”, not the message you clicked), and the hostname of another site a link here was clicked to (“x.com”, not the page or the link's text);
- how many browsers visited, by country (a two-letter code from our network provider, Cloudflare; we never look up your IP address ourselves), by device type (phone, tablet or desktop) and by language (“en”);
- how many were first visits and how many came back, and after how long;
- which parts of the dashboard were used (a tab, a CSV download, a wallet lookup; never the wallet or what was in it), and which display settings people choose;
- how many dashboard tabs are open, counted as a total once a minute and kept per hour, so we can restart the site when it will cut off the fewest people;
- how quickly each page loaded, whether it jumped around while loading and how quickly it responded to a tap or click, in three rough bands (good, needs work, poor), by device type;
- how far people get in the steps of buying, listing, offering, minting and signing in with a wallet, which wallet extension they used (Xverse, UniSat and so on) and, if a wallet step failed, what kind of failure from a short fixed list (“turned down”, “not installed”) -- never the wallet's message, an address or a transaction;
- how often the server refused something because of an account's plan, or held back a free account's alert -- as a count, never which account;
- whether a wallet, rune or collection search came back empty, and, if something on the page breaks, its error message and which page it happened on -- never a stack trace, and never anything you typed.
To tell a first visit from a return without a cookie or an ID, your own browser remembers the date of your last visit and which days of the past month you opened the site, in its local storage on your device. It never sends those dates. Once a day it sends only a rough answer worked out from them, such as “back after 2 to 7 days”. No identifier goes with it, not even a hashed one, so the reports can't be linked to each other or to you. There is no third-party analytics script, and the counts are deleted after 13 months. We won't try to work out who is behind any of these counts, and we won't let anyone else try.
In the EU, the rest of the EEA and the UK, or if we can't tell which country you're in, we ask first: nothing is kept in your browser and nothing is sent until you choose “Count my visits”, and your answer is the only thing remembered if you say no. A yes lasts 13 months, then we ask again. Which country you're in comes from Cloudflare for each page and isn't stored. You can change your answer with the box below.
If your browser sends Global Privacy Control or Do Not Track, it's treated as if that box were ticked. Page opens are still counted on the server either way, because that count holds nothing about who opened the page.
A wallet you look up isn't tied to you: your list of lookups lives in that browser tab and nowhere else. What comes back is kept here for up to a day, against the address, which is public, so a second look is quick, then deleted, with nothing recorded about who asked. This server's logs leave the address out of a lookup's request. As with any website, the request passes through Cloudflare, which carries this site's traffic, on its way here.
Feedback and the community
There's a Discord for people who use this dashboard: to compare notes, ask how a number was worked out, and hear first when something changes. Join the Discord
中文社区:加入 Telegram 群 · 微信:
Something broken, a number that looks wrong, or an idea? Tell us here. It goes straight to the people who build this.
Not financial advice
This is a data tool. Nothing here is a recommendation to buy or sell anything, and labels like “whale” or “smart money” describe past on-chain behaviour. They aren't judgments about anyone or predictions about prices. See the terms.