Skip to content

Add InsumerAPI action provider for on-chain verification and trust profiles#978

Open
douglasborthwick-crypto wants to merge 1 commit intocoinbase:mainfrom
douglasborthwick-crypto:feat/insumer-action-provider
Open

Add InsumerAPI action provider for on-chain verification and trust profiles#978
douglasborthwick-crypto wants to merge 1 commit intocoinbase:mainfrom
douglasborthwick-crypto:feat/insumer-action-provider

Conversation

@douglasborthwick-crypto
Copy link

@douglasborthwick-crypto douglasborthwick-crypto commented Feb 28, 2026

Description

Adds a new InsumerAPI action provider for privacy-preserving on-chain wallet verification and trust profiling. InsumerAPI returns ECDSA-signed boolean attestations (pass/fail) rather than raw balances, so agents can verify wallet state without exposing holdings.

The provider is walletless (API-only, no wallet connection required) and supports 31 EVM chains + Solana through a single API.

Actions — 5 total

Action Description
verify_wallet Check if a wallet meets conditions (token balance, NFT ownership, EAS attestation, etc.). Returns a signed boolean attestation.
get_wallet_trust_profile Get a multi-dimensional trust profile (17 checks across activity, assets, identity, compliance).
get_batch_wallet_trust_profiles Batch trust profiles for up to 10 wallets.
validate_discount_code Validate an INSR-XXXXX discount code (free, no auth).
list_compliance_templates List available compliance templates like Coinbase KYC and Gitcoin Passport (free, no auth).

Files Changed

  • typescript/agentkit/src/action-providers/insumer/ — provider, schemas, types, constants, tests, README (7 files)
  • typescript/agentkit/src/action-providers/index.ts — barrel export
  • typescript/.changeset/warm-wallets-verify.md — changeset

Tests

Unit tests: 21 tests covering all 5 actions, error handling, and network support. All passing.

pnpm jest --testPathPattern=insumer

PASS  src/action-providers/insumer/insumerActionProvider.test.ts
  InsumerActionProvider
    ✓ should have correct name
    ✓ supportsNetwork should return true for any network
    verify_wallet
      ✓ should successfully verify a wallet
      ✓ should handle API errors
      ✓ should handle network errors
      ...
  21 tests passed

Chatbot testing: This provider works with any of the example chatbots (e.g. typescript/examples/langchain-cdp-chatbot). Since it is walletless, no wallet funding or network setup is needed — only an InsumerAPI key (free tier available at insumermodel.com).

Chatbot: typescript/examples/langchain-cdp-chatbot
Network: any (walletless provider)
Setup: INSUMER_API_KEY env var set

Prompt: Check if 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 holds at least 1 ETH on Ethereum

Expected: Agent calls verify_wallet with the wallet address, chainId 1, 
and a token_balance condition for native ETH >= 1, then returns 
the pass/fail attestation result.

Prompt: Get the trust profile for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Expected: Agent calls get_wallet_trust_profile and returns the 
dimensional trust scores (activity, assets, identity, compliance).

Prompt: What compliance templates are available?

Expected: Agent calls list_compliance_templates and returns the 
list of templates (e.g. Coinbase KYC, Gitcoin Passport).

Checklist

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall
Copy link

cb-heimdall commented Feb 28, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions github-actions bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Feb 28, 2026
@douglasborthwick-crypto douglasborthwick-crypto force-pushed the feat/insumer-action-provider branch 3 times, most recently from d89cfc6 to c1ccba8 Compare March 5, 2026 01:47
@cb-heimdall
Copy link

Review Error for Jeddyvgf @ 2026-03-10 11:27:52 UTC
User failed mfa authentication, either user does not exist or public email is not set on your github profile. \ see go/mfa-help

@douglasborthwick-crypto
Copy link
Author

Hey @phdargen — this has been waiting on review for a couple weeks. The one approval from Jeddyvgf was rejected by Heimdall (MFA issue). Would you be able to take a look? CI is green, PR is rebased and clean. Thanks!

@douglasborthwick-crypto douglasborthwick-crypto force-pushed the feat/insumer-action-provider branch from 9249a19 to e8cf2ff Compare March 16, 2026 13:49
@douglasborthwick-crypto
Copy link
Author

@CarsonRoscoe @0xRAG — this PR has been open 17 days. CI green, just rebased. The one approval (Jeddyvgf) was rejected by Heimdall MFA. phdargen was tagged 3 days ago, no response. Would appreciate a review when you get a chance.

@douglasborthwick-crypto douglasborthwick-crypto force-pushed the feat/insumer-action-provider branch from e8cf2ff to 5597635 Compare March 18, 2026 22:50
Adds wallet verification and trust profile actions for AgentKit.

5 actions: verify_wallet, get_wallet_trust_profile,
get_batch_wallet_trust_profiles, validate_discount_code,
list_compliance_templates.
@douglasborthwick-crypto douglasborthwick-crypto force-pushed the feat/insumer-action-provider branch from 5597635 to dbb7b9a Compare March 19, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

4 participants