DJD Agent Score is an open-source trust scoring system for AI agent wallets. In v2.3.0, the team integrated InsumerAPI token attestation into their Identity scoring dimension, solving the cold-start problem that penalized new wallets with zero transaction history. This is the first third-party integration to use both InsumerAPI and the insumer-verify library for client-side cryptographic verification.
The problem: cold-start wallets score low
DJD Agent Score evaluates wallet trustworthiness across multiple dimensions: behavioral history, transaction patterns, and identity signals. When an agent registers a new wallet, the behavioral dimensions start at zero. No transaction history means no data to score. This is the cold-start problem that every trust layer must address.
The Identity dimension helps. It considers wallet age, Basename registration, and GitHub verification. But these signals are limited. A brand-new wallet controlled by a legitimate operator with significant on-chain holdings looks the same as an empty throwaway address.
The question was straightforward: can on-chain token holdings serve as a trust signal for wallets that have no behavioral history?
The approach: token attestation as identity signal
The integration adds a single InsumerAPI call during the Identity scoring pipeline. When DJD scores a wallet, it calls POST /v1/attest to check whether the wallet holds tokens on Base (currently USDC with a threshold of zero, which functions as a proof-of-existence signal: has this wallet ever interacted with a real DeFi contract?).
The attestation runs in parallel with existing blockchain RPC calls, so it adds no latency to the scoring pipeline. If the InsumerAPI call times out or fails, scoring proceeds without it. The attestation is additive, never blocking.
A verified attestation earns the wallet 15 points in the Identity dimension. This is enough to meaningfully differentiate a wallet-native agent from a fresh throwaway address, but not so heavy that a single signal dominates the overall score.
Client-side verification with insumer-verify
The integration does not trust InsumerAPI as a black box. DJD uses the insumer-verify npm package to run four independent checks on every attestation response:
- ECDSA P-256 signature verification confirms the response was issued by The Insumer Model and has not been tampered with.
- Condition hash integrity (SHA-256) confirms the exact contract, threshold, and chain that was evaluated match what was requested.
- Block freshness confirms the attestation was evaluated against a recent block (within 5 minutes).
- Attestation expiry confirms the response has not exceeded its time-to-live.
This means DJD score consumers get the same trust guarantees as verifying directly against the blockchain, at one credit per attestation instead of two (which is the cost when using Merkle storage proofs).
Why this works for trust scoring
The design decision to attest balanceOf >= 0 on Base USDC is worth examining. The team is not checking whether a wallet is wealthy. They are checking whether a wallet has ever touched a real contract on a real chain. That is a fundamentally different question, and it turns out to be a strong cold-start signal.
A wallet that has interacted with USDC on Base has, at minimum, paid gas fees, initiated a transaction, and touched a widely-used ERC-20 contract. That is more evidence of legitimacy than wallet age alone can provide, and it is verifiable on-chain rather than self-reported.
The privacy model matters here too. InsumerAPI returns a boolean: the condition was met or it was not. No balance amounts. No token lists. No transaction history. The scoring pipeline never sees what the wallet holds, only that it has interacted with the contract. This is the correct level of information for a trust signal.
For a complete guide to the attestation API that DJD integrated — including all condition types, ECDSA signing, and Merkle proof options — see the AI Agent Verification API overview and the verification developer docs.
Architecture
The integration touches one new module (src/insumer.ts) and fits cleanly into the existing scoring pipeline:
- Scoring request arrives for a wallet address.
- Parallel execution: existing RPC calls, Basename lookup, GitHub check, and the new InsumerAPI attestation all fire concurrently.
- Attestation response is verified client-side using
insumer-verify(signature, condition hash, block freshness, expiry). - If verified: 15 points added to the Identity dimension.
- If unverified or failed: 0 points. Scoring continues with other signals.
- Composite score is computed across all dimensions and returned.
The INSUMER_API_KEY environment variable is optional. If not configured, the attestation step is skipped entirely. This keeps the scoring system deployable without any external dependencies.
What comes next
The DJD team is planning to expand the attestation set in v2.4 to check governance tokens across multiple chains. ENS on Ethereum, OP on Optimism, and ARB on Arbitrum would each add a distinct trust dimension: governance participation indicates a wallet operator with skin in the game beyond simple token holdings.
InsumerAPI supports up to 10 conditions per request, and each condition carries its own chainId. A single call can check tokens across Ethereum, Base, Optimism, and Arbitrum simultaneously. The response includes per-condition met booleans, so DJD can weight each governance token independently in its scoring model.
The team is also evaluating Merkle storage proofs for a future high-stakes verification tier. Merkle proofs return EIP-1186 storage proofs that can be verified against public block headers without trusting either InsumerAPI or the DJD scoring pipeline. This would be relevant for enterprise consumers who need auditability over the Identity dimension inputs.
The cold-start problem is solvable
Trust scoring systems face a fundamental chicken-and-egg problem. You cannot score behavior that has not happened yet. Behavioral models need history. New wallets have none.
On-chain token attestation offers a way out. Holdings are observable, verifiable, and available before the first interaction. A wallet holding governance tokens, interacting with DeFi contracts, or holding membership NFTs carries evidence of legitimacy that no behavioral model can capture at time zero. This is the same principle behind AI agent wallet verification: on-chain state as a trust primitive.
DJD Agent Score v2.3.0 is live and open source. The integration uses InsumerAPI for attestation and insumer-verify for client-side cryptographic verification. The code is available on GitHub.
Build with the same API
InsumerAPI is free to start. Get an API key, call the attestation endpoint, and verify token holdings across 32 blockchains in minutes.
Get Your API Key