Skip to content

[Feature Request] Add wallet reputation check before transfers #979

@jacobsd32-cpu

Description

@jacobsd32-cpu

Problem

When an AgentKit agent executes a transfer action, it sends USDC/ETH to a wallet address with no way to assess the recipient's trustworthiness. A fresh sybil wallet looks identical to a 6-month-old legitimate operator.

Proposal

Add an optional pre-transfer reputation check using DJD Agent Score, a free API that scores wallets on Base based on their on-chain transaction history.

The integration is 5 lines in the transfer action:

// Before executing transfer, check recipient reputation
const scoreRes = await fetch(
  `https://djd-agent-score.fly.dev/v1/score/basic?wallet=${recipientAddress}`
);
const { score, tier, confidence } = await scoreRes.json();

if (score < 40 || confidence < 0.2) {
  return `Warning: Recipient wallet ${recipientAddress} has a low reputation score (${score}/100, ${tier}). This wallet may be newly created or exhibit suspicious patterns. Proceed with caution.`;
}

// Continue with existing transfer logic...

Why this matters

  • Free tier: 10 calls/day, no API key, no signup, no payment
  • Fast: <200ms response time, cached scores
  • On-chain data only: Scores are based on real USDC transaction history, partner diversity, account age, and 12 behavioral sybil/gaming checks
  • x402 native: Paid tier uses the same x402 protocol AgentKit already supports

Try it

curl "https://djd-agent-score.fly.dev/v1/score/basic?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

API Docs · OpenAPI Spec · GitHub

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions