The verdict in three findings
Real business, small yield, narrow moat
Part A
What Intents revenue is worth to a NEAR holder
Monthly volume
Monthly fees
Monthly revenue captured by NEAR
How far Intents has to grow
Buyback against new supply
Scenario grid: buyback yield on NEAR's market value
Each cell is the yield if annual volume and NEAR's take were as labelled. Only the outlined cell is measured; every other cell is an assumption, not a forecast.
Query behind it
python -m moatmap.model
run rate = trailing 90 days of DefiLlama volume, fees and revenue x 365 / 90
GET https://api.llama.fi/summary/fees/near-intents?dataType=dailyFees | dailyRevenue
GET https://api.llama.fi/summary/dexs/near-intents
market value = circulating supply (sql/circulating_supply.sql on NEAR BigQuery) x NEAR price (1Click token list)
buyback yield = annual revenue / market value (since 2026-02-23 NEAR's captured Intents revenue buys back NEAR)
net issuance = change in total supply over the BigQuery window, annualised
grid cell = run-rate volume x volume multiple x take (bps of volume NEAR keeps) / market valuePart B · The Moat Map
Will it last? Counting the rivals on every route
Revenue earns a long-term multiple only if rivals cannot take it. We counted how many of five rival bridges (Across, Relay, deBridge, Chainflip, THORChain) can serve each route and tested two claims whose thresholds were fixed before the data was pulled.
Where NEAR Intents has company
Query behind it
python -m moatmap.coverage NEAR Intents chains : GET https://1click.chaindefuser.com/v0/tokens (distinct `blockchain`) Across : GET https://app.across.to/api/available-routes + /api/swap/chains Relay : GET https://api.relay.link/chains deBridge : GET https://dln.debridge.finance/v1.0/supported-chains-info Chainflip : JSON-RPC cf_supported_assets on https://mainnet-rpc.chainflip.io THORChain : GET .../thorchain/pools (status Available) A filled cell = the rival's own live API lists that chain. Output: data/processed/coverage.csv
Fee revenue by number of rivals on the route
The same split, measured four ways
The line marks the 50% the claim needed.
Query behind it
python -m moatmap.explorer then python -m moatmap.analyze
GET https://explorer.near-intents.org/api/v0/transactions?statuses=SUCCESS&numberOfTransactions=1000&...
(Authorization: Bearer $NEAR_INTENTS_JWT, paged over the whole window)
route = chain(originAsset) > chain(destinationAsset); volume = amountInUsd
fee per recipient = amountInUsd x appFees[].fee / 10,000 ; NEAR's own = recipient is one of NEAR's three revenue wallets
Routes are grouped by the number of rivals listing both chains (coverage.csv); same-chain swaps are excluded.The routes that carry the money
Thin route (at most 2 rivals)Contested route (3 or more rivals)
Table view
The thin-route share, week by week
How much of it is Zcash
Part B · Pricing
Does NEAR charge more where it is alone?
What a swap costs: NEAR Intents against the cheapest rival
NEAR IntentsCheapest rival that quoted
Table view
Query behind it
python -m moatmap.quotes For each route x size x provider: request a live quote for the same asset pair and input amount. cost_bps = (amount_in_usd - amount_out_usd) / amount_in_usd x 10,000 Both sides are priced with one 1Click price snapshot taken in the same run, for every provider, so the figure is the all-in cost (spread + protocol fee + destination gas), not each provider's own estimate. Failed quotes are kept with ok=0 and never filled in. Each point is the median across snapshots.
Thin-route cost relative to crowded-route cost
Like for like: same token type, same swap size. The line marks the 1.5× the claim needed.
Query behind it
python -m moatmap.analyze (function pricing_test) "Thin" = routes where at most 2 rivals list both chains; "crowded" = 4 or 5. Ratio = median NEAR cost on thin routes / median NEAR cost on crowded routes, per swap size, computed separately for same-token routes (USDC>USDC, ETH>ETH) and different-token routes (BTC>ETH), because NEAR's documented fee differs between them and mixing the two would manufacture a premium.
Fees actually charged on executed swaps
Part B · The finding
Why the claims did not hold
Claim 1 · revenue from thin routes
Claim 2 · a price premium on thin routes
Network context · NEAR BigQuery
Heavy use, few hands
Most-called contracts on NEAR
Daily activity
Every query filters on block_date; the newest, still-filling day is not plotted.
Queries behind it
Read before relying on it