Most NEAR theses quote one published volume number. This one opens the contract. We drew a seeded random sample of
720 block windows of intents.near across 29 days, downloaded every transaction in them
(22,323), priced 99.7% of the token legs, and tested six claims against thresholds fixed in advance.
Then we did it again: an independent second sample of 360 windows (11,284 transactions) with a different seed, to see which results survive.
Read it as a research note: report.html · PDF, 12 pages (takeaways, 15 exhibits, scenarios, risk register, questions for the team).
Fetched by your browser each time this page opens. Everything below this strip is the frozen snapshot of 2026-10-16 → 2026-11-14, which is what the verdicts and the rebuild command refer to.
T1–T5 show the pooled estimate of two independent samples (1,080 windows). A test is “supported” or “contradicted” only when the whole pooled 95% interval is on one side of the threshold and both samples' own point estimates are on that side; otherwise it is “inconclusive”. Thresholds live in thesis_tests.json.
Value entering the contract in our sample is 0.79× (95% CI 0.57× to 1.06×) of the volume NEAR publishes for the same 28 days. The headline number is not an artefact of a dashboard: money of that order shows up on-chain. A second check agrees: the sample's transaction count is 0.97× the exact count. The independent replication sample measures 0.66× (95% CI 0.49× to 0.84×); pooling both samples gives 0.70× (0.56× to 0.84×). The verdict holds.
Sample deposits average $109.4M a day (95% CI $76.8M to $149.4M) against $128.9M published; withdrawals are 0.68× (95% CI 0.50× to 0.93×) of published volume. Single days are noisy (correlation with the published series +0.19): one large deposit in a sampled window moves a day's point a lot.
Deposits are nep245:mt_mint events and withdrawals are mt_burn events emitted by intents.near, valued at each day's USD price. Each UTC day uses only that day's windows, scaled by blocks per day ÷ blocks sampled. Published volume is DefiLlama's NEAR Intents series, which reads NEAR's own Dune table. Daily points rest on ~24 short windows, so they are noisy; the 30-day ratio is the test.
The sample estimates 114,889 transactions a day. Where exact counts are available the sample is 0.97× the true figure, which is the check that the sampling works.
Exact counts come from the txs_count field of the FastNEAR transactions API for each UTC day (scripts/fetch_public.py). The sample estimate is transactions in sampled windows times the expansion factor.
Exact counts for 180 days. The contract handled about 56,619 transactions a day in the first 30 days of this window (2026-05-18 onwards) and 113,293 a day in the last 30: 2.0× as many. Published volume over the same two spans went from $85M to $127M a day (1.5×). The busiest day was 2026-11-05 with 279,561 transactions.
The FastNEAR transactions API returns the exact number of transactions touching an account for any block range. We located the first block of each UTC day and asked for the count between consecutive days (scripts/fetch_long_counts.py). This is a full count, not a sample. Published volume is DefiLlama's daily series.
The largest sender moves 40.6% (95% CI 34.1% to 46.4%) of the value, so the test as written passes: no single account sends half. But read it with this: that account is on one side or the other of 86.7% (95% CI 78.2% to 92.6%) of the value, and it is not an anonymous whale. NEAR's own documentation names it as the Confidential Intents Treasury: a transfer into it is the "shield" step that moves funds onto the confidential ledger, and a transfer out of it is the unshield. Every one of the 5,964 sampled transfers into it carries a long opaque memo (120 to 184 characters), and none of the 14,566 other transfers does. That matches the documentation, which says the shield memo carries the encrypted recipient. We stored only the memo's length; the one we re-fetched in full is base64 data. The independent replication sample measures 52.9% (95% CI 43.6% to 62.6%); pooling both samples gives 44.2% (39.1% to 49.4%). The two samples' point estimates fall on opposite sides of the threshold, so the claim is marked inconclusive even though the pooled interval passes.
About $85M a day is shielded into Confidential Intents ($59M to $116M), in roughly 30,695 transfers a day. Swaps that settle in the open on the public contract come to about $27M a day. So of the value we can see being settled either way, 77.6% (95% CI 71.5% to 83.7%) goes to the confidential side (two samples pooled). In the main sample the share was 59% in the earlier 15 days and 88% in the later 15.
Shielded value is the USD value of dip4:transfer events whose receiver is 51e8f9…7cbe. The account is identified from NEAR's documentation, which lists it as PRIVATE_TREASURY_ACCOUNT_ID, ‘Treasury account for asset wrapping’, and describes the transfer into it as the shield step (https://docs.near-intents.org/integration/market-makers/confidential-example). Public swaps are dip4:token_diff events on intents.near, each swap counted once. Solvers also shield their own liquidity to fill confidential swaps: 37% of shielded value comes from named accounts, the rest from implicit accounts, so shielded value is an upper bound on confidential swap size, not a measure of it.
For. Privacy is something NEAR Intents sells that most cross-chain venues do not, and the flow has moved to it quickly. Shielded value alone is 0.55× (95% CI 0.42× to 0.68×) of the published daily volume.
Against. Per NEAR's documentation the confidential swap itself executes against a separate private contract (intents.far), not on intents.near. From the public chain we can count what goes in and what comes out, but not who traded what with whom. As this share grows, the published volume becomes a figure outsiders can check less and less.
And the take moved too. NEAR's take was 4.9 bps of published volume before the break and 4.0 bps after; what users paid went from 15.5 bps to 15.1 bps. The timing matches; we have no evidence of cause.
Also. The treasury account backs every shielded balance, so it is a custody concentration by design. Who holds its keys, and under what controls, is not something the chain shows. It is the first question we would ask the team.
Up to 2026-10-30, 21.8% (95% CI 19.7% to 23.8%) of transactions carried a swap settled in the open. From 2026-10-31 it is 3.5% (95% CI 2.8% to 4.3%). Open swaps fell from about $38M to $16M a day while shielded value rose from $54M to $113M a day. The share has been under 3% on every one of the last 10 full days (since 2026-11-04), with open swaps averaging $2M a day. Re-drawing the sample 1,000 times puts the break between 2026-10-30 and 2026-11-03 in 95% of draws.
For each day: sampled transactions with at least one dip4:token_diff event, divided by all sampled transactions that day. The break date (2026-10-31) is the split of the daily series that minimises within-period variance of the share of transactions carrying a dip4:token_diff event, with at least 5 days on each side. Intervals are window bootstraps within each period.
Published volume did not fall with it: $126M a day before, $132M after. Swaps we can see in the open were 30% of the published figure before the break and 12% after. The rest of the published number now has to be taken on trust.
Open swaps: USD value of dip4:token_diff events, each swap counted once. Shielded: USD value of transfers into the treasury. Both are sample estimates scaled to a full day, so single days are noisy; compare the two periods, not two days. The published figure is DefiLlama's daily volume for NEAR Intents. We have not seen how that figure is built, so we report the gap and do not claim to know what fills it.
At block 224,532,448 (2026-11-14 15:23 UTC) the treasury held $129M on the public contract, in 174 assets; 33% of it stablecoins. About $113M a day has been shielded since the break, so the pool turns over roughly every 1.1 days.
One view call, mt_batch_balance_of on intents.near for the treasury account across the 231 assets in the 1Click list, valued at the list price fetched in the same run (scripts/treasury.py). Bars are each asset's share of the total.
Assets: yes. Anyone can read the treasury's holdings on the public contract at any block, as we did.
Liabilities: no. The claims against those holdings are the shielded balances on the private contract. Their total is not published, so nobody outside can confirm that holdings cover claims.
Our sample cannot fill the gap. Sampled inflow minus outflow is $10M a day, but each side is uncertain by tens of millions a day, so the difference says nothing reliable about the balance. A real check needs either a full count of every transfer or NEAR publishing the shielded supply.
2,770 different accounts shielded funds in the sampled windows. Two solver accounts, solver-priv-liq.near and solver-multichain-asset.near, supply 36% of the shielded value between them; the ten largest shielders together account for 61.2% (95% CI 44.7% to 72.8%). Accounts that each contribute under 1% make up 34%. So use is broad by count, with solver liquidity as the largest single block.
Each transfer into the treasury is credited to its sender. Shares are of total shielded value, with 95% window-bootstrap intervals. Accounts seen in a single window have intervals that reach zero: one large transfer was sampled, and we cannot say how often that account shields. Named accounts are labelled by their on-chain name only.
What is measured. Value crossing the boundary between the public contract and the treasury, in both directions, and what the treasury holds.
What is inferred. That a transfer into the treasury is the first step of a confidential swap. This rests on NEAR's documentation and on every sampled transfer into the treasury carrying a long opaque memo that no other transfer has, not on seeing the swap or reading the memo.
What is unknown. How many shielded dollars are swapped, how often, between whom, and at what price. Nothing in this report estimates those.
Top account 40.6% (95% CI 34.1% to 46.4%); top three 57.4%. Sender HHI 1,826 (above 2,500 is ‘highly concentrated’ in antitrust practice).
Every dip4:transfer event is valued in USD and credited to its account_id (sender). Whiskers are 95% window-bootstrap intervals.
Top account 46.1% (95% CI 41.1% to 50.6%); top three 62.6%. 4,293 distinct receivers appear in the sample.
Same events, credited to receiver_id.
| Account | Type | Received (sample) | Sent (sample) | Seen in % of windows | Counterparties |
|---|---|---|---|---|---|
51e8f9…7cbe Confidential Intents Treasury | implicit | $16.5M | $14.5M | 92% | 4,608 |
solver-priv-liq.near | named | $3.2M | $3.3M | 83% | 1 |
solver-multichain-asset.near | named | $2.8M | $2.7M | 68% | 1 |
6247d9…fb29 | implicit | $526.7K | $679.1K | 23% | 53 |
blockzen-1-main.near | named | $21.8K | $38.7K | 48% | 6 |
solver-multichain-asset-escrow.near | named | $11.1K | $11.3K | 21% | 1 |
c4d748…3426 | implicit | $10.1K | $0.00 | 16% | 130 |
solver-multichain-asset-2.near | named | $4.7K | $4.6K | 11% | 1 |
orderbook.fi.tg | named | $4.1K | $0.00 | 7% | 6 |
5880ad…47dd | implicit | $2.3K | $0.00 | 70% | 1,013 |
Only 34 of 7,402 accounts in the sample are there day in, day out. 87.9% (95% CI 80.1% to 93.9%) of the value has one of them on at least one side. 7,208 accounts (97%) appear in a single window: single-use deposit accounts, which is why wallet counts say nothing about users here.
22% of trade events are direct token_diff swaps, worth about $26.7M a day (each swap is counted once). Here 1,725 accounts take part and the largest has 29.1% (95% CI 14.0% to 38.0%): several solvers compete on this path.
For every dip4:token_diff event the positive legs (what the account receives) are valued in USD and credited to the account. Both sides of a swap emit an event, so the daily total is halved to count each swap once.
| Referral tag | Events in sample | Share of tagged value |
|---|---|---|
1click-swapkit | 676 | 26.5% (95% CI 13.7% to 43.2%) |
1click-lifi | 143 | 25.9% (95% CI 4.9% to 46.8%) |
1click-unknown | 457 | 15.3% (95% CI 8.4% to 26.1%) |
1click-vizor | 5 | 8.7% (95% CI 0.0% to 26.2%) |
1click-zodl | 41 | 5.5% (95% CI 1.2% to 11.9%) |
1click-rango | 101 | 4.4% (95% CI 1.5% to 9.9%) |
1click-trustwallet | 3 | 4.1% (95% CI 0.0% to 9.9%) |
1,958 of 5,756 token_diff events carry a referral tag. Shares are of tagged value only, so read them as a ranking of distribution partners, not as market share.
The largest source chain, NEAR, supplies 30.9% (95% CI 16.1% to 44.9%) of deposits. The top three (NEAR 31%, Tron 29%, Ethereum 21%) are close enough that the leader changes between robustness runs; none comes near half. Demand does not hang on one chain. The independent replication sample measures 50.7% (95% CI 34.7% to 63.2%), led by Ethereum; pooling both samples gives 29.2% (21.6% to 36.8%). The two samples' point estimates fall on opposite sides of the threshold, so the claim is marked inconclusive even though the pooled interval passes.
NEAR leads with 30.9%. Chain HHI 2,336.
USD value of mt_mint events grouped by the chain of the minted asset (1Click token list).
Tron leads with 27.8%. Chain HHI 1,851.
USD value of mt_burn events grouped by the chain of the burned asset.
| Chain | Deposited / day | Withdrawn / day | Net / day | Role |
|---|---|---|---|---|
| NEAR | $34M | $15M | +$19M | source |
| Tron | $32M | $24M | +$8M | source |
| BNB Chain | $3M | $9M | −$6M | sink |
| Zcash | $8M | $5M | +$3M | source |
| Ethereum | $23M | $21M | +$2M | source |
| Solana | $5M | $7M | −$2M | sink |
| Arbitrum | $1M | $2M | −$1M | sink |
| Base | $2M | $3M | −$811K | sink |
NEAR is the largest net source and BNB Chain the largest net sink in the main sample. These are point estimates from chain shares that carry wide intervals (see the two charts above), so read the direction, not the dollar figure. Deposits and withdrawals do not have to balance: value can stay inside the ledger, including in shielded balances.
Stablecoins are 72.8% (95% CI 63.1% to 80.4%) of the value moved inside the ledger. This is a dollar-transfer product more than a trading venue. The independent replication sample measures 72.2% (95% CI 63.6% to 80.4%); pooling both samples gives 72.5% (66.4% to 78.5%). The verdict holds.
Stablecoins: 72.8% (95% CI 63.1% to 80.4%).
USD value of dip4:transfer legs by token symbol.
| Statistic | Value |
|---|---|
| Transfers in sample | 20,530 |
| Median | $1.53 |
| 90th percentile | $723 |
| 99th percentile | $29.9K |
| Largest | $1.1M |
| Value from transfers ≥ $100K | 52.9% (95% CI 37.2% to 65.8%) |
The median transfer is small and a few very large ones carry much of the value. That is why every share on this page comes with an interval: one whale in a sampled window moves the point estimate.
Five accounts submit 97.5% (95% CI 97.2% to 97.7%) of every transaction that touches the contract. End users almost never sign a NEAR transaction themselves (1.6% of transactions are signed by an unnamed user account). The independent replication sample measures 97.8% (95% CI 97.4% to 98.1%); pooling both samples gives 97.6% (97.4% to 97.8%). The verdict holds.
109 distinct signers in the sample; the top five submit 97.5%.
The signer_id of every sampled transaction.
Chain abstraction works as advertised: the user signs on their own chain and a relayer puts the result on NEAR. The cost is that liveness and censorship resistance for this flow rest on a short list of relayer keys, not on NEAR's validator set alone. For an investor this is an operational-risk line, and a decentralisation roadmap item to track.
| Sender account type | Share of value sent |
|---|---|
| implicit | 80.8% (95% CI 75.5% to 86.2%) |
| named | 17.5% (95% CI 11.7% to 22.8%) |
| evm | 1.8% (95% CI 0.2% to 4.2%) |
The busiest eight hours, 09:00 to 17:00 UTC, carry 39% of transactions; an even spread would be 33%. Weekends carry 24%, against 29% if every day in the sample were equal. The hour-by-hour line is noisy, so only the broad tilt is worth reading.
Each sampled transaction is counted in the UTC hour of its block. Every window carries the same weight, so plain shares are unbiased for the period.
Transactions lean a little towards 09:00–17:00 UTC and away from weekends. Software alone would not slow down at weekends, so this hints at people behind the five relayers. It is a weak hint: each hour rests on about 30 windows, single busy windows move the line, and the end users never appear as the signer here.
NEAR's captured revenue is 4.9 bps of volume over the last 30 days: $1.8M on $3.8B. Users pay 16.0 bps; NEAR keeps 30.5% of that.
Annualised, the last 30 days of captured revenue come to $22.4M. All fees paid on NEAR-chain protocols over the same 30 days: $6.8M.
DefiLlama monthly sums of NEAR Intents volume and revenue (their adapter reads NEAR's Dune tables: gross fees, and NEAR swept into the revenue wallets). Revenue ÷ volume in basis points.
Over 39 days, daily changes in intents.near transactions correlate +0.40 with changes in Intents volume and +0.12 with changes in NEAR price.
Pearson correlation of daily log changes; exact transaction counts from FastNEAR, volume and price from DefiLlama. ‘Previous day’ shifts volume or price back one day to see whether it leads.
| Daily change in intents.near transactions vs… | same day | previous day | levels |
|---|---|---|---|
| Intents volume (published) | +0.40 | -0.05 | +0.29 |
| NEAR price | +0.12 | -0.04 | -0.61 |
| Venue | Volume | Users pay | Keeps | Revenue |
|---|---|---|---|---|
| NEAR Intents | $3.80B | 16.5 bps | 4.7 bps | $1.80M |
| Relay | no series | n/a | n/a | $696.93K |
| Unit | $2.18B | 2.4 bps | 2.4 bps | $531.87K |
| deBridge | no series | n/a | n/a | $458.11K |
| Circle CCTP | no series | n/a | n/a | $199.78K |
| Symbiosis | no series | n/a | n/a | $114.16K |
| TeleSwap | $43.16M | 17.4 bps | 16.1 bps | $69.40K |
| Maya Protocol | $400.04M | 9.3 bps | 0.9 bps | $37.02K |
| Across | no series | n/a | n/a | $0.00 |
Last 30 days. DefiLlama has both volume and revenue for 4 of these 9 venues. Among them NEAR Intents keeps 4.7 bps, ranking 2 of 4. The venues of comparable size keep less: Unit 2.4 bps and Maya Protocol 0.9 bps. By revenue in dollars it is first of the 9. This cuts against our own T6 objection: the 5 bps bar was ours, and the comparable venues we can measure do not clear it either.
DefiLlama 30-day totals fetched 2026-11-14 16:26 UTC: volume from overview/dexs, fees and revenue from overview/fees. “Users pay” is fees ÷ volume and “Protocol keeps” is revenue ÷ volume, both shown only where DefiLlama publishes a volume series for that venue. The list of venues was chosen by us (PEERS in scripts/fetch_public.py); adapters differ in what they count, so treat this as a rough comparison.
NEAR's market value is $4.09B (2026-11-14). Intents revenue annualises to $22.4M, so the token trades at 182× that revenue. Pick the multiple you think is fair and see what Intents would have to deliver for revenue alone to justify the price.
Arithmetic, not a forecast. It isolates Intents revenue and ignores everything else the token is valued for (gas, staking, other protocols), so it overstates what Intents alone must do. Market value from CoinGecko; revenue and volume from DefiLlama, last 30 days.
One sample can be lucky. So every sample-based test was run again: on an independent second sample drawn with a different seed, on the two samples pooled, on each half of the period, with every item of $100K or more removed, and with a different price source. A coloured dot is the verdict under the same pre-set rule (green supported, amber inconclusive, red contradicted).
| Run | Windows | T1 deposits ÷ published | T2 top chain | T3 stablecoins | T4 top sender | T5 top-5 signers | Treasury, either side | Shielded share |
|---|---|---|---|---|---|---|---|---|
| Main sample 720 windows, seed 20261114, valued at each day's price | 720 | 0.79× (0.57×–1.06×) | 31% (16%–45%) NEAR | 73% (63%–80%) | 41% (34%–46%) | 97% (97%–98%) | 87% (78%–93%) | 76% (64%–85%) |
| Replication sample an independent second sample of the same 30 days: different seed, 360 windows | 360 | 0.66× (0.49×–0.84×) | 51% (35%–63%) Ethereum | 72% (64%–80%) | 53% (44%–63%) | 98% (97%–98%) | 92% (87%–95%) | 78% (70%–85%) |
| Pooled (main + replication) inverse-variance average of the two independent samples, 1,080 windows | 1,080 | 0.70× (0.56×–0.84×) | 29% (22%–37%) Ethereum | 72% (66%–78%) | 44% (39%–49%) | 98% (97%–98%) | 91% (87%–94%) | 78% (71%–84%) |
| Third sample a third independent sample of the same 30 days, drawn AFTER the verdict rule was fixed: seed 31337, 360 windows | 360 | 0.54× (0.39×–0.76×) | 44% (28%–60%) Ethereum | 72% (62%–81%) | 48% (39%–55%) | 97% (97%–98%) | 90% (83%–95%) | 64% (44%–81%) |
| Pooled (all three samples) inverse-variance average of the three independent samples, 1,440 windows | 1,440 | 0.64× (0.53×–0.76×) | 32% (25%–39%) Ethereum | 72% (67%–78%) | 45% (41%–50%) | 98% (97%–98%) | 90% (87%–93%) | 76% (70%–82%) |
| Older half only main sample, the earlier 15 days | 360 | 0.66× (0.47×–0.85×) | 25% (16%–37%) Ethereum | 62% (44%–80%) | 33% (21%–42%) | 97% (97%–98%) | 88% (79%–95%) | 59% (43%–72%) |
| Recent half only main sample, the later 15 days | 360 | 0.90× (0.51×–1.44×) | 38% (17%–54%) NEAR | 77% (66%–84%) | 43% (35%–50%) | 98% (98%–98%) | 86% (76%–94%) | 88% (73%–97%) |
| Whales removed main sample without any single item worth $100K or more | 720 | not meaningful | 35% (29%–42%) Ethereum | 67% (62%–71%) | 44% (39%–48%) | 97% (97%–98%) | 88% (85%–90%) | 71% (66%–77%) |
| Prices at fetch time main sample valued at one price list instead of daily prices | 720 | 0.73× (0.54×–1.00×) | 31% (20%–43%) Tron | 76% (68%–83%) | 41% (35%–47%) | 97% (97%–98%) | 87% (79%–92%) | 76% (65%–86%) |
29 of 39 re-checks give the same verdict as the main sample. No verdict flips to the opposite side. Differences: T1 is inconclusive in “Replication sample” (supported in the main sample); T2 is inconclusive in “Replication sample” (supported in the main sample); T4 is inconclusive in “Replication sample” (supported in the main sample); T1 is inconclusive in “Third sample” (supported in the main sample); T2 is inconclusive in “Third sample” (supported in the main sample); T4 is inconclusive in “Third sample” (supported in the main sample); T1 is inconclusive in “Older half only” (supported in the main sample); T3 is inconclusive in “Older half only” (supported in the main sample); T2 is inconclusive in “Recent half only” (supported in the main sample); T4 is inconclusive in “Recent half only” (supported in the main sample). T5 gives the same verdict in every run, and the treasury's share is between 86% and 92% in every run. T2 and T4 depend on a few very large deposits and transfers, so the headline marks them inconclusive. A third sample (360 windows, 11,387 transactions) was drawn after the verdict rule was fixed, so it is an out-of-sample check. On its own it gives T1 inconclusive, T2 inconclusive, T3 supported, T4 inconclusive and T5 contradicted: the same as the headline for 4 of 5 tests, and the opposite verdict for none. The headline verdicts were not changed after seeing it. Pooling all three samples gives T1 0.64× (95% CI 0.53× to 0.76×), against 0.70× (95% CI 0.56× to 0.84×) for the first two: still inside the 0.5×–2× band, but nearer its lower edge. All three samples put deposits below the published volume. “Whales removed” is not a fair test of T1, because large deposits are about half of the value by construction; it is shown for the share tests only.
The snapshot above is frozen so that anyone can rebuild it. To see whether it keeps holding, scripts/track.py draws a small fresh sample of the last 24 hours (96 windows, seed = the date) and appends one row here. A scheduled GitHub Action runs it once a day and republishes this page. One day of 96 windows is a thin sample, so the intervals are wide and no verdict is issued from a single row: read the direction over several days.
| Run | Covers | Windows | Txs | T2 top chain | T3 stablecoins | T4 top sender | T5 top-5 signers | Shielded share | Shielded / day | Public swaps / day | Published volume / day | NEAR's take |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snapshot, pooled | 2026-10-16 → 2026-11-14 | 1,080 | 29.2% (21.6%–36.8%) eth | 72.5% (66.4%–78.5%) | 44.2% (39.1%–49.4%) | 97.6% (97.4%–97.8%) | 77.6% (71.5%–83.7%) | $85M | $27M | $126M | 4.9 bps | |
| 2026-11-14 | 24 h to block 224,530,049 | 96 | 4,059 | 31.4% (5.8%–58.0%) near | 58.4% (44.7%–73.3%) | 38.7% (28.1%–51.8%) | 98.4% (97.7%–99.0%) | 99.7% (99.4%–99.9%) | $109M | $287K | $176M (2026-11-12) | 5.4 bps |
What the latest row adds. On 2026-11-14 swaps settled in the open came to about $287K a day, against $27M a day averaged over the snapshot, while shielded value was $109M a day. The shielded share for that day is 99.7%, above the whole snapshot interval. So the 30-day average understates where things stand now: on this evidence nearly all swap value has moved to the confidential side.
Tracker rows are valued at the 1Click price list fetched at run time. “Published volume / day” and “NEAR's take” in a tracker row are DefiLlama's last complete day; in the snapshot row they are 30-day figures. Each row can be re-drawn exactly from its seed and end block, stored in data/history/tracker.jsonl.
A thesis should be able to lose. These are scored automatically from the tracker rows above; nobody edits the result by hand. Each prediction is checked against every daily tracker row dated AFTER the registration day (data/history/tracker.jsonl). A prediction is met on a day when that row's point estimate satisfies the rule. On the horizon date it is graded 'held' if it was met on at least 80% of tracked days, otherwise 'failed'. The registration-day row is shown as the baseline and is not scored, because it was visible when these were written.
| Prediction | Met when | Baseline 2026-11-14 | Days met | Status | If we are wrong | |
|---|---|---|---|---|---|---|
| P1 | Access stays closed: the five busiest signers keep submitting at least 90% of transactions | ≥ 90.0% | 98.4% | 0 of 0 days | not scored yet | Relayer access is opening up. The main structural objection in this thesis weakens. |
| P2 | The move to confidential settlement is permanent: at least 90% of visibly settled value is shielded | ≥ 90.0% | 99.7% | 0 of 0 days | not scored yet | The collapse of public swaps was temporary, and the audit gap is smaller than we say. |
| P3 | NEAR's take stays under 5 bps of published volume, measured over the trailing 30 days | < 5.0 bps | 4.9 bps | 0 of 0 days | not scored yet | Value capture is improving. The second structural objection weakens. |
| P4 | It remains a dollar rail: stablecoins stay above half of the value moved | > 50.0% | 58.4% | 0 of 0 days | not scored yet | The flow is turning speculative, and the demand case needs rewriting. |
| P5 | Demand persists: published volume stays at or above $100M a day | ≥ $100M | $176M | 0 of 0 days | not scored yet | The volume was a one-month spike, and the bull case falls. |
Disagree with a threshold? Drag it. The verdict is recomputed in your browser with the same rule: the pooled interval must be wholly on one side, and both samples' point estimates must agree.
transfer intents and 22% are token_diff swaps. Tests T3 and T4 are measured on the transfer path ($184.2M a day of internal movement, which counts each hop); token_diff is reported separately in section 2.sql/ were written but not executed (no billing account). The Intents Explorer API needs a partner JWT and was not used.Each of these can break a claim on this page. All run from a fresh clone.
| If you doubt | Do this | The claim fails if |
|---|---|---|
| the numbers match the raw data | python3 rebuild.py | git diff shows any change in THESIS.md or data/derived/numbers.json |
| the sample was cherry-picked | python3 tests/test_all.py | the windows on disk are not the ones the seed produces (the test re-derives both plans) |
| the result depends on this one sample | python3 rebuild.py --resample (about 40 min) | T3 or T5 changes verdict on a fresh seed |
| the switch to confidential settlement | python3 rebuild.py --track (about 10 min) | the new row's shielded share is under 90% |
| the treasury figure | python3 scripts/treasury.py | the total is far from the one shown in section 2 |
| a threshold was chosen to flatter | drag the sliders in section 9 | a small move flips a ‘supported’ verdict |
Data behind the charts, as CSV: daily.csv · tests.csv · robustness.csv · treasury.csv · tracker.csv
New to NEAR Intents? A user on another chain deposits, the public contract keeps the ledger, and swaps are settled either in the open or, increasingly, on a private contract behind one treasury account. Relayers submit nearly every transaction.
Solid boxes are things this project reads directly from the chain. The dashed box is described in NEAR's documentation and cannot be observed from outside.
| Term | Meaning |
|---|---|
| Intent | A signed statement of the outcome a user wants, such as “at least X of token B for Y of token A”. |
| Solver | A market maker that fills intents from its own inventory. |
| Relayer / signer | The account that submits a transaction and pays the network fee. Test T5 measures how few of them there are. |
| Shield / unshield | Moving funds into or out of the confidential side through the treasury account. |
| Open swap | A swap settled on the public contract (a token_diff event), where anyone can see who gave what for what. |
| Basis point (bps) | One hundredth of a percent. 5 bps of $100 is 5 cents. |
| Take | The share of volume a protocol keeps as revenue. |
| Window / stratum | The period is cut into equal strata; from each, one window of 40 consecutive blocks is downloaded in full. |
| 95% interval | The range holding the middle 95% of results when the sample is re-drawn from itself 2,000 times. |
| Pooled | A precision-weighted average of independent samples. |
| Out-of-sample | Checked on data that did not exist when the rule was written. |
| Source | Where | Used for |
|---|---|---|
| FastNEAR transactions API | tx.main.fastnear.com/v0 | Sampled transactions; exact daily counts |
| NEAR RPC view call | mt_batch_balance_of on intents.near | Treasury holdings |
| 1Click token list | 1click.chaindefuser.com/v0/tokens | Asset ids, chains, decimals, list prices |
| DefiLlama | api.llama.fi, coins.llama.fi | Published volume, fees, revenue; daily prices; peers |
| CoinGecko | api.coingecko.com/api/v3/coins/near | NEAR market value |
| NEAR Intents documentation | docs.near-intents.org/integration/market-makers/confidential-example | Treasury account, private contract, shield and unshield |
| BigQuery public dataset | bigquery-public-data.crypto_near_mainnet_us | Cross-check queries in sql/ (written, not run) |
Longer versions in the repository: PRIMER.md (how it works), METHODOLOGY.md (estimators, event dictionary, a worked example), TUTORIAL.md (seven hands-on exercises), SOURCES.md (every endpoint and reference).
git clone <this repo> && cd near-intents-xray python3 rebuild.py # rebuild every number and chart from the committed raw samples (offline, ~3 min) python3 rebuild.py --fetch # also refresh DefiLlama, 1Click prices and exact tx counts python3 rebuild.py --track # measure the last 24 hours and add a row to the daily tracker (~10 min) python3 rebuild.py --resample # draw a fresh sample from mainnet (keyless, ~40 min)
Python 3.9+, standard library only. Sources: FastNEAR transactions API, DefiLlama, 1Click token list.