Revenue paid from the treasury
72%
of the last 30 days, at least. It was 0% in June.
Revenue per dollar of volume
4.56 bps
since 27 Oct. 5.32 in the 30 days before, 2.83 before that step.
Keys signing for the treasury
1
the same key at every date we checked
New NEAR paid for by revenue
19%
of the value issued each day
The long-term thesis · five years, to 2031
NEAR is turning from a chain people use directly into a settlement layer for cross-chain money, more and more of it private. Its long-term value depends on getting paid for that flow, and on holders being able to check that it does.
In a year, Intents volume rose about 3.7 times while active accounts fell 76%. For that to be worth owning, three things must be true by 2031:
Volume keeps growing
It must grow +30% to +44% a year for revenue to pay for all new NEAR. The recent trend is +46%.
NEAR gets paid
The take must hold near 4.56 bps. If private swaps pay nothing it falls toward 1.26 bps, and growth must reach +69% a year.
Holders can check
Private totals must be open to audit, and it must be clear who holds the key. Today neither is true.
01 · The weight
The private economy weighs about $140.3M, and the public chain can prove it
Shielded balances live on a private chain with no public RPC or explorer. The tokens backing them do not. All of them sit under one account on intents.near, on the public chain, and anyone can read that balance at any past block.
Treasury value, daily
Our reading at the first block of each UTC day, in USD, against NEAR's published series
Built only from chain balances and public prices, our figure tracks NEAR's with a correlation of 0.997 over 246 days, and a median gap of 1.1%. It has read low since October, by 5.1% over the last 60 days, because 33 of 193 tokens have no public price history. Live prices close that gap: see the figure at the top.
The query
POST https://archival-rpc.mainnet.fastnear.com
{"method":"query","params":{"request_type":"call_function","block_id":<first block of the day>,
"account_id":"intents.near","method_name":"mt_tokens_for_owner",
"args_base64":<{"account_id":"51e8f94d...7cbe"}>}}
then mt_batch_balance_of for those tokens at the same block.
Value = sum(balance / 10^decimals * DefiLlama daily price).
Code: pipeline/fetch_treasury.py, pipeline/metrics.py value_treasuryWhat is in it
Share of priced value at the latest reading
35% of the priced treasury is NEAR itself: 12.5M NEAR, or 1.0% of all NEAR in existence.
The query
The same balances as the chart above, at the latest reading, valued at that day's DefiLlama price and grouped by token symbol. Code: pipeline/metrics.py value_treasury, pipeline/analyze.py weigh
02 · The revenue
NEAR's revenue now comes out of the dark
Revenue reaches NEAR's three wallets as withdrawals from intents.near. We checked 5,083 payments against transfers out of the private treasury, to the exact yoctoNEAR. A growing share start as a transfer out of the treasury. In our hand trace, all 33 such payments came through 33 different accounts, each used to pass the money on.
What NEAR keeps from each dollar of volume
Weekly revenue-wallet receipts divided by reported volume, by the route the money took
In the 60 days before 21 September, NEAR kept 2.83 bps of volume. Since then it has kept 5.06 bps. The part with no private trace barely moved, from 1.45 to 1.39 bps. All of the gain left the treasury first: 1.38 to 3.67 bps.
The query
1. Payments: every native NEAR transfer from intents.near into
buybacks.multisignature.near, fefundsadmin.sputnik-dao.near, 1csfundsadmin.sputnik-dao.near
POST https://transfers.main.fastnear.com/v0/transfers
{"account_id":<wallet>,"direction":"receiver"}
2. Treasury outflows: every wNEAR transfer out of the treasury
{"account_id":"51e8f94d...7cbe","direction":"sender",
"asset_id":"nep245:intents.near:nep141:wrap.near"}
3. A payment is private when an outflow of exactly the same yoctoNEAR left the treasury in the
six hours before it. Each outflow can explain one payment.
4. Volume: https://api.llama.fi/summary/dexs/near-intents
bps = weekly receipts / weekly volume * 10,000
Code: pipeline/metrics.py match_payments, pipeline/analyze.py revenueWhat this shows
The first payment from the treasury came on 7 July, the week Confidential Intents opened to all developers. The public part of revenue then stayed flat while the private part grew on top of it. Reported gross fees rose far less, from 13.9 to 15.9 bps, so NEAR's share of fees went from 20% to 32%.
What it breaks
Wallet receipts still match DefiLlama, within 1.0%. But that check now proves only that money arrived. Nothing public links a private swap to a revenue payment. From outside, a payment out of the treasury looks the same whatever earned it. We have no evidence that it is anything other than fees. Nobody outside can show that it is.
What we cannot rule out
The route is not the source. Fees earned inside the private chain, a partner deal paid through a shielded account, or public fees held in shielded form would all look the same from outside. Revenue per dollar has spiked before, too: it reached 4.2 bps in June, then fell back. This was the best thing to happen to NEAR's value capture this year, and nobody outside can show why it happened.
03 · The swaps
On 27 October the swaps moved too, and the take slipped
Until then, private swaps at the boundary were few. Then they multiplied about 29 times in days, and money entering the treasury went from 15% of reported volume to 42%. If private swaps paid NEAR like public ones, revenue should have held. So far it has not: 5.32 bps in the 30 days before, 4.56 bps in the 11 days since, −14%. The API terms say the private fee is kept by a private company for its own account, so this is the leak we set out to look for.
It is too early to call. But it is a clean test, and it is running now. If private swaps pay NEAR, revenue per dollar holds. If they do not, it falls toward the part with no private trace, about 1.26 bps. A rough fit over 26 days puts a dollar crossing the boundary at about 2.8 bps to NEAR and any other dollar at about 5.5 bps. The 90% interval on the private figure runs from 0 to 14 bps, so it cannot settle the question yet.
Private swaps seen at the boundary
Accounts entering and leaving the treasury within the hour, per hour, in sampled hours
In 3 sampled hours before 27 October we saw about 18 private swaps an hour. In 7.7 hours since, about 519. These are only the swaps we can pair, so the true counts are higher.
The query
Every transfer of any size, both ways, for one random hour on sample days. A swap is an account that is not a solver, with exactly one transfer in and one out, inside the hour. Swaps an hour = pairs found / hours sampled. Code: pipeline/fetch_flows.py windows, pipeline/metrics.py pair_accounts
Money entering the private chain, daily
Transfers into the treasury of at least $2,500 by accounts that are not solvers, against reported Intents volume
Money from accounts other than solvers went from 15% of reported volume before 27 October to 42% in the last seven days, about $52.2M a day. Accounts crossing each day went from 571 to 1,548. Counting solvers, the treasury turns over about every 1.7 days, so most of it is moving, not resting.
The query
POST https://transfers.main.fastnear.com/v0/transfers
{"account_id":"51e8f94d...7cbe","direction":"receiver","min_usd_amount":2500,
"from_timestamp_ms":<day start>,"to_timestamp_ms":<day end>}
About 5% of rows and about 95% of dollars. Accounts with "solver" in the name are counted apart.
Volume is DefiLlama's NEAR Intents series.
Code: pipeline/fetch_flows.py, pipeline/analyze.py flowsThe fee nobody can see leaves a fingerprint
Private swaps between different assets since 27 October, by what was lost between entry and exit, in basis points
These 1,594 swaps do not spread smoothly. They bunch near 19, 77 and 146 bps. That looks like a price list, and no public document gives one. The documented public default is 20 bps. Stablecoin swaps cost a median 1.9 bps, close to the documented 1 bp. At the sampled rate, private swappers lose about $223.1K a day between entry and exit, against $60.2K a day reaching NEAR's wallets from every source. Part of that gap is solver spread and price movement. How much is fee, and who keeps it, cannot be seen.
The query
Every transfer of any size, both ways, for sampled hours. A pair is an account that is not a solver, with exactly one transfer in and one out, inside the hour. cost = (usd_in - usd_out) / usd_in * 10,000 Code: pipeline/fetch_flows.py windows, pipeline/metrics.py pair_accounts
04 · The keys
$140.3M, one key, and a fee nobody outside can see
A long-term holder needs to know who can change the deal. These are the facts we can check, and where each one comes from.
| What | What the record shows | Source |
|---|---|---|
| Who holds the backing | One account, 51e8f94d…7cbe, holds $140.3M on intents.near | mt_batch_balance_of; NEAR Intents market-maker docs |
| Keys on intents.near | One key, 6Wk4sb8Gc4…, at all 10 dates checked since February | public_keys_of at archival blocks |
| Who signs money out | That key signed 24 of 24 sampled transfers out | Signed intents in each transaction |
| Keys on the account itself | One full-access key, the same one | view_access_key_list |
| The private chain | A permissioned fork of NEAR run by a small validator set, with a private RPC and no public explorer | NEAR Intents docs; near.org |
| The private fee | Set by Intents Technology alone. It can change or remove the fee at any time, by route, asset or partner. There is no app fee | 1Click API Terms 6.8 and Schedule 1 section 6 |
| Rule for sending fees to NEAR | The terms say fees may be directed to a recipient for NEAR ecosystem work, and set no amount. We found no rule in code. Payments arrive from one-use accounts | Terms Schedule 1, 1.7; this analysis |
| Where bought NEAR sits | A multisig needing 2 confirmations, held, not burned | get_num_confirmations |
| Audit access | Selective disclosure is described as planned, not live | near.org, How Confidential Intents Works |
A single registered key says nothing about how that key is held. It may be split across signers. The point is that nobody outside can tell, and there is no public statement to check.
05 · To 2031
The volume is on pace. The take is the question.
NEAR issues about 86,913 new NEAR a day, worth $317.9K. Revenue pays for 19% of that. NEAR's market cap of $4.8B is 218 times its yearly revenue of $22.0M, so the price already assumes a lot of growth. Here is what it takes for that growth to arrive.
NEAR Intents volume, by month
Full calendar months, from DefiLlama
Monthly volume went from $6.4M in January 2025 to $4.0B in the last full month. Over the last 12 full months the trend is +46% a year, with large swings around it.
The query
https://api.llama.fi/summary/dexs/near-intents Daily volume, summed by full calendar month. Trend: a straight line through the logs of the last 12 full months, as a yearly rate. Code: pipeline/analyze.py long_term, pipeline/metrics.py log_trend
Share of new NEAR paid for by revenue, three cases
At today's NEAR price. 100% means revenue pays for all new NEAR
For revenue to pay for all new NEAR by 2031, volume must grow +30% a year at today's take and the 1.6% floor, or +44% at the 2.5% cap. The recent trend is +46%. If private swaps pay NEAR nothing, the need rises to +69% a year. These cases are arithmetic on stated assumptions at today's NEAR price, not forecasts.
The query
volume(year) = today's volume * (1 + growth) ^ year new NEAR(year) = supply * issuance rate / 365 * today's price cover(year) = volume * take / new NEAR Each case states its growth, take and issuance. The NEAR price is held at today's. Code: pipeline/metrics.py project, required_growth
Try your own assumptions
72% of NEAR's take now arrives by a route nobody outside can see, on terms that can change at any time.
Volume needed to pay for new NEAR
Share of new NEAR paid for
at the daily volume above
What NEAR keeps
per dollar of volume
At $317.9K of new NEAR a day, the take since 27 October needs $697.3M of daily volume, 5.3 times today's. If the private part halved it would take $1.1B. If it went to zero, $2.5B. The 1.6% on the issuance slider is the floor in HSP-029.
06 · The track's hypothesis
Intents volume does not lead chain usage better than price does
The track's sample prompt asks whether cross-chain volume through NEAR Intents is a better leading indicator of real network usage than token price. We tested it. Result: Not supported. The reason matters more than the result. Most of the fall in public usage came from a few automated senders, not from anything Intents did, so the two series have little to do with each other. Meanwhile intents.near has become the busiest destination on the chain.
Volume, price and active accounts
Weekly, each set to 100 in the first week of October 2025
Over the last year, Intents volume rose about 3.7 times while active accounts fell 76%. The two are not moving together, so public chain activity no longer measures what NEAR is used for.
The query
Weekly sums of https://api.llama.fi/summary/dexs/near-intents Weekly means of price and active accounts from https://api.nearblocks.io/v1/charts Each series = 100 in the first week of October 2025. Code: pipeline/analyze.py hypothesis
Does this week's change predict active accounts later?
Rank correlation with the change in active accounts, 1 to 8 weeks later. Zero means no link
Over 98 weeks, the last four weeks of volume told us little about the next four weeks of active accounts (rank correlation 0.18), and no more than price did (0.29). For transactions it was 0.04 against -0.09, and for function calls 0.01 against -0.08. For all three measures the 90% interval on the gap includes zero.
The query
x(t) = log change in volume, or in price, in week t y(t + L) = log change in active accounts, L weeks later r = rank correlation of x and y, for L from 1 to 8 weeks The table compares 4-week changes, with a 90% block-bootstrap interval on the gap. Code: pipeline/metrics.py lag_profile, leading_test
Daily active accounts
From BigQuery
Active accounts are down 76% on a year ago, comparing 90-day averages.
The query
SELECT CAST(block_date AS STRING) AS date,
COUNT(DISTINCT signer_account_id) AS active_signers,
COUNT(*) AS transactions
FROM `bigquery-public-data.crypto_near_mainnet_us.transactions`
WHERE block_date BETWEEN @since AND @until
GROUP BY date ORDER BY date
Also available with no key: https://api.nearblocks.io/v1/charts (active_accounts)Daily transactions
From BigQuery
Transactions are down 84% on a year ago. Most of the fall came at the start of April 2026, when at most 3 signing accounts, sending 62% of all transactions, stopped.
The query
SELECT CAST(block_date AS STRING) AS date, COUNT(*) AS transactions FROM `bigquery-public-data.crypto_near_mainnet_us.transactions` WHERE block_date BETWEEN @since AND @until GROUP BY date ORDER BY date Also available with no key: https://api.nearblocks.io/v1/charts (txns)
Function calls to contracts
From BigQuery
Function calls are down 80% on a year ago, but the contracts being called have not gone away: about 1,194 on a typical day, against 1,165 a year ago.
The query
SELECT CAST(block_date AS STRING) AS date,
COUNT(*) AS function_calls,
COUNT(DISTINCT receipt_receiver_account_id) AS active_contracts
FROM `bigquery-public-data.crypto_near_mainnet_us.receipt_actions`
WHERE block_date BETWEEN @since AND @until
AND action_kind = 'FUNCTION_CALL'
GROUP BY date ORDER BY dateShare of all NEAR transactions sent to intents.near
By week, from BigQuery
intents.near took 1.0% of all NEAR transactions a year ago and 9.3% over the last 90 days. It went from the fifth busiest destination on the chain to the first.
The query
-- transactions sent to intents.near each day, divided by all transactions SELECT CAST(block_date AS STRING) AS date, COUNT(*) AS transactions FROM `bigquery-public-data.crypto_near_mainnet_us.transactions` WHERE block_date BETWEEN @since AND @until AND receiver_account_id = 'intents.near' GROUP BY date ORDER BY date -- the busiest destinations in four 14-day windows Full query: sql/top_contracts.sql
07 · What would change our mind
Tests we can fail
Each test is computed on every rebuild, or checked by hand where it needs a public statement. The rules and limits are in pipeline/falsifiers.py, so any change to them shows in the repository's history.
| Test | Breaks if | Now | State |
|---|---|---|---|
| The treasury can be weighed from the public chain | Our figure sits more than 15% from NEAR's on a typical day in the last 60 | 5.1% median gap | Holding |
| Most of NEAR's revenue comes through the private treasury | Under 25% of the last 30 days' revenue left the treasury first | 72% in the last 30 days | Holding |
| NEAR keeps more than it did before | Revenue per dollar falls back to its level before the step | 1.8× the earlier level | Holding |
| Private swaps pay NEAR as public swaps did | Since 27 October, revenue per dollar falls below 60% of the 30 days before | 86% of the earlier level | Watch |
| Volume grows fast enough to pay for new NEAR by 2031 | The 12-month volume trend falls below the 30% a year that needs | +46% a year | Holding |
| Revenue pays for more of the new NEAR each year | At the November 2027 review, revenue pays for under 25% of new NEAR | 19% today | Due Nov 2027 |
| The private economy holds its size | The treasury falls more than 60% from its peak | 70% of peak | Holding |
| One key signs for the treasury | More than one key is registered, or the custody setup is published | 1 key | Holding |
| Private totals cannot be audited from outside | NEAR or Intents Technology publishes private volume and fees that an auditor can check | none found, checked 2026-11-07 | Holding |
08 · For NEAR
The fix is small, and it makes NEAR easier to own
Privacy for users and accounts for holders do not conflict. A daily total reveals nobody's trades. We drafted the proposal and built the parts anyone can use today.
Publish the totals
Each day: private volume, private fees, and the share sent to NEAR's wallets, signed and open to an auditor's check. Read the draft proposal.
Say who holds the key
Publish how the treasury key is held and who can use it, and the validator set of the private chain.
Put the rule on chain
State what share of the private fee reaches NEAR's wallets, and keep it where holders can see a change.
A weigh station anyone can call
dark-matter reads the treasury straight from intents.near, with no oracle, and warns on chain if a key changes or money leaves fast. Any contract can read it.
An open daily feed
Every series here is free to use, with no key: weight, revenue source, flows and everything.
A tool for agents
A small server gives AI agents the same numbers, and a live weighing, through the Model Context Protocol. See it.
09 · Limits
What we cannot see
- We see the boundary, not the inside. Swaps on the private chain, their fees and their solvers cannot be observed.
- Paired accounts show cost only for accounts that enter and leave inside the sampled hour. A swap that returns to another account is missed.
- The revenue match is exact to the yoctoNEAR, so it can only undercount. A sweep that merges two transfers looks public.
- A payment out of the treasury shows where money came from, not what earned it.
- Tokens with no public price history are left unpriced, not guessed. That is why our daily series reads below NEAR's.
- The ranges used to find the fee's price points were chosen after seeing the data.
- Swaps made inside a shielded balance never cross the boundary, so we cannot count them. The low swap count before 27 October shows only that few swaps crossed.
- The daily flow census covers transfers of $2,500 or more, about 95% of dollars by a sample.
- Eleven days since 27 October is short. Revenue per dollar can move for many reasons, including mix, price and the timing of sweeps.
- The 1Click API terms limit how long API data may be kept, so no quote or Explorer data is stored here.
Full method in METHOD.md, the argument in THESIS.md. Rebuild every number with one command: python rebuild.py.