Skip to content

Developer

Do new contracts stay in use, and does that move with Intents revenue? A contract counts as retained in a month if it receives at least one function call.

Retention of new contracts by monthly cohort

Of the 467 contracts first deployed in 2026-09, 31.3% were still called the next month.

CohortNew contractsLargest parentMonth +1Month +2Month +3
2025-11555c.aurora (46%)18%14%11%
2025-12276bondsquaresreal.launchpad.defishards.near (41%)20%16%14%
2026-01167portalpad.near (26%)30%20%20%
2026-02200portalpad.near (24%)32%27%28%
2026-03116pool.near (34%)56%52%54%
2026-04102deposit.aurora (33%)26%33%29%
2026-0552venear.dao (33%)48%40%48%
2026-0649venear.dao (24%)59%39%43%
2026-07108deposit.aurora (35%)22%34%29%
2026-0885v1.tmplr.near (22%)46%48%not yet
2026-09467near (18%)31%not yetnot yet
2026-10686hugecat1082.near (21%)not yetnot yetnot yet

Darker means a larger share still in use. A cohort can jump when one parent account deploys many sub-accounts; the largest parent and its share are shown for that reason.

Query and model

Computed by developer.new_contracts, developer.cohort_table (src/capture/models/developer.py) from the tables below.

contracts_daily (sql/contracts_daily.sql)

-- contracts_daily: one row per (block_date, receiving account) with a DEPLOY_CONTRACT or at least
-- one FUNCTION_CALL. Params: @start_date, @end_date (inclusive). unique_callers = distinct
-- predecessor accounts. Deploy-only rows (no call that day) are kept so that a contract deployed
-- today and first called tomorrow is still seen as new (F4); function_calls_received is 0 there.
SELECT
  block_date AS `date`,
  receipt_receiver_account_id AS contract_account,
  COUNTIF(action_kind = 'DEPLOY_CONTRACT') AS deploys,
  COUNTIF(action_kind = 'FUNCTION_CALL') AS function_calls_received,
  COUNT(DISTINCT IF(action_kind = 'FUNCTION_CALL', receipt_predecessor_account_id, NULL))
    AS unique_callers
FROM `bigquery-public-data.crypto_near_mainnet_us.receipt_actions`
WHERE block_date BETWEEN @start_date AND @end_date
  AND action_kind IN ('DEPLOY_CONTRACT', 'FUNCTION_CALL')
GROUP BY block_date, receipt_receiver_account_id
HAVING deploys >= 1 OR function_calls_received >= 1
ORDER BY 1, 2
  • contracts_daily.parquet · BigQuery public dataset · 2025-09-22 to 2026-11-01 · pulled 2026-11-02T08:05:43Z · sha256 cac2f0a3

Does developer activity lead Intents revenue?

Result: no detectable relationship (a null result). Lag 0 had the largest correlation in training (r=-0.72). In the test months it is r=0.90 on 5 pairs (permutation p=0.19). That cannot be told apart from chance with this few points; this is a null result.

Null resultLag chosen in training: 0 months · significance level 0.1

Reported as it came out (CLAUDE.md rule 5). At lag 0 the test has 5 training and 5 test pairs of months, so it has little power; the null result says only that nothing can be told apart from chance yet. Correlation would not show cause in either direction.

Query and model

Computed by developer.lead_lag, developer.verdict (train/test split, permutation test) from the tables below.

contracts_daily (sql/contracts_daily.sql)

-- contracts_daily: one row per (block_date, receiving account) with a DEPLOY_CONTRACT or at least
-- one FUNCTION_CALL. Params: @start_date, @end_date (inclusive). unique_callers = distinct
-- predecessor accounts. Deploy-only rows (no call that day) are kept so that a contract deployed
-- today and first called tomorrow is still seen as new (F4); function_calls_received is 0 there.
SELECT
  block_date AS `date`,
  receipt_receiver_account_id AS contract_account,
  COUNTIF(action_kind = 'DEPLOY_CONTRACT') AS deploys,
  COUNTIF(action_kind = 'FUNCTION_CALL') AS function_calls_received,
  COUNT(DISTINCT IF(action_kind = 'FUNCTION_CALL', receipt_predecessor_account_id, NULL))
    AS unique_callers
FROM `bigquery-public-data.crypto_near_mainnet_us.receipt_actions`
WHERE block_date BETWEEN @start_date AND @end_date
  AND action_kind IN ('DEPLOY_CONTRACT', 'FUNCTION_CALL')
GROUP BY block_date, receipt_receiver_account_id
HAVING deploys >= 1 OR function_calls_received >= 1
ORDER BY 1, 2

defillama_intents_daily (HTTP API)

https://api.llama.fi/summary/dexs/near-intents; https://api.llama.fi/summary/fees/near-intents; https://api.llama.fi/summary/fees/near-intents?dataType=dailyRevenue; https://api.llama.fi/summary/fees/near-intents?dataType=dailyHoldersRevenue
Data table
TransformSampleLag (months)PairsPearson rSpearmanpNote
levelstrain05-0.72-0.900.13–
levelstrain14-0.54-0.600.67–
levelstrain23–––fewer than 4 pairs
levelstrain32–––fewer than 4 pairs
levelstest050.900.100.19–
levelstest14-0.56-0.200.50–
levelstest23–––fewer than 4 pairs
levelstest32–––fewer than 4 pairs
difftrain04-0.51-0.600.58–
difftrain13–––fewer than 4 pairs
difftrain22–––fewer than 4 pairs
difftrain31–––fewer than 4 pairs
difftest050.250.000.63–
difftest140.250.000.79–
difftest23–––fewer than 4 pairs
difftest32–––fewer than 4 pairs
  • contracts_daily.parquet · BigQuery public dataset · 2025-09-22 to 2026-11-01 · pulled 2026-11-02T08:05:43Z · sha256 cac2f0a3
  • defillama_intents_daily.parquet · DefiLlama API · 2024-12-10 to 2026-10-30 · pulled 2026-11-02T03:43:25Z · sha256 ae50ca9a