Skip to content

v2.4: Multi-chain attestation expansion (ENS, OP, ARB, stETH) #4

@jacobsd32-cpu

Description

@jacobsd32-cpu

Summary

Expand the Insumer attestation from a single Base USDC check to 5 multi-chain token conditions in a single request. Designed in collaboration with @douglasborthwick-crypto in #3.

Design (confirmed with InsumerAPI)

Single POST /v1/attest with conditions array. One ECDSA signature covers all conditions. 1 credit per request ($0.04 total) — regardless of how many conditions (up to 10). Parallel RPC queries — latency = slowest chain.

Proposed Weight Table

Token Chain ChainId Contract Signal Weight
USDC (>= 0) Base 8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 DeFi proof-of-existence 3 pts
ENS (>= 1) Ethereum 1 0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72 Governance participation 3 pts
OP (>= 1) Optimism 10 0x4200000000000000000000000000000000000042 L2 governance 3 pts
ARB (>= 1) Arbitrum 42161 0x912CE59144191C1204E64559FE8253a0e49E6548 L2 governance 3 pts
stETH (> 0) Ethereum 1 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 Long-term staking 3 pts

Total: 15 pts (same as v2.3 Insumer allocation — no rebalancing needed)

Architecture

  • Iterate results[i].met from the response and apply per-token weights
  • Individual booleans with independent weights (maps directly to per-condition results[] array)
  • Use label field for debug logging (no contract address lookup table needed)

Request Shape (confirmed by Douglas)

{
  "wallet": "0x...",
  "conditions": [
    { "type": "token_balance", "chainId": 8453, "contractAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "threshold": 0, "decimals": 6, "label": "USDC on Base >= 0" },
    { "type": "token_balance", "chainId": 1, "contractAddress": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", "threshold": 1, "decimals": 18, "label": "ENS >= 1" },
    { "type": "token_balance", "chainId": 10, "contractAddress": "0x4200000000000000000000000000000000000042", "threshold": 1, "decimals": 18, "label": "OP >= 1" },
    { "type": "token_balance", "chainId": 42161, "contractAddress": "0x912CE59144191C1204E64559FE8253a0e49E6548", "threshold": 1, "decimals": 18, "label": "ARB >= 1" },
    { "type": "token_balance", "chainId": 1, "contractAddress": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84", "threshold": 0, "decimals": 18, "label": "stETH > 0" }
  ]
}

Alternative: /v1/trust Profiles

Douglas noted a new option: POST /v1/trust — wallet trust profiles across 14 curated checks (stablecoins on 7 chains, governance tokens UNI/AAVE/ARB/OP, NFTs). 3 credits ($0.12), ECDSA-signed. Also POST /v1/trust/batch for up to 10 wallets with shared block fetches (5-8x faster).

Tradeoff:

  • /v1/attest (1 credit): We choose exact tokens and thresholds — maps directly to our weight table
  • /v1/trust (3 credits): Pre-built cross-chain profile with per-dimension pass/fail counts — richer signal but less control

Potential hybrid: use /v1/trust for initial scoring (richer data), fall back to /v1/attest for targeted checks. Decision depends on whether trust response includes individual check results.

Future: Merkle Proof Tier

After multi-chain is stable, add optional Merkle proof support for enterprise consumers who want to verify Identity inputs against stateRoot independently. Two demand verticals: compliance platforms (audit trails) and multi-agent orchestration (trust-minimized verification).

Prerequisites

  • Let v2.3 run for a period to collect real attestation data
  • Confirm credit pricing with Insumer for 4-condition requests ✅ Confirmed by Douglas: 1 credit per request
  • Case study published first (avoid moving target) ✅ Published

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    v2.4Planned for v2.4 release

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions