AgentBIT
← all tools

Wallet Counterparties

Relationship mapping for any Base address. The wallet's most recent native transactions (up to ~100, two explorer pages) are aggregated per counterparty into a ranked list: counterparty address, explorer-known name where one exists (exchanges, labeled protocols), number of interactions split into sent/received, total native value moved, first and last time seen in the sample, and up to 5 distinct methods used with that counterparty. Use it to see whether a wallet mostly talks to a DEX, a bridge, an exchange deposit address or a fixed set of private wallets — a strong prior when deciding to transact. Honest scope, stated in the output: this is a recent-activity sample from public explorer data, not a complete historical graph, and token-transfer-only relationships may not appear. Completes the AgentBIT wallet-intelligence shelf with wallet-screen, wallet-profile and wallet-transactions.

$0.01
USDC per call · x402
Endpoint
POST /v1/wallet/counterparties
MCP name
agentbit.wallet_counterparties
Status
active
Latency / uptime (7d)
77 ms · 100%

Call with x402

1. Send the request. 2. Receive 402 with accepts[]. 3. Sign the payment and retry with the X-PAYMENT header.

curl -X POST https://agentbit.app/v1/wallet/counterparties \
  -H 'Content-Type: application/json' \
  -d '{"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965","top":5}'

Input schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "description": "EVM address on Base (0x + 40 hex)"
        },
        "top": {
            "type": "integer",
            "description": "Max counterparties to return (1-25, default 10)"
        }
    },
    "required": [
        "address"
    ]
}

Output schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string"
        },
        "network": {
            "type": "string"
        },
        "sampled_transactions": {
            "type": "integer"
        },
        "unique_counterparties_in_sample": {
            "type": "integer"
        },
        "counterparties": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "address": {
                        "type": "string"
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "interactions": {
                        "type": "integer"
                    },
                    "sent": {
                        "type": "integer"
                    },
                    "received": {
                        "type": "integer"
                    },
                    "total_value_eth": {
                        "type": "number"
                    },
                    "first_seen": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_seen": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "methods": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "note": {
            "type": "string"
        }
    }
}

Code examples

// JavaScript (x402-fetch)
import { wrapFetchWithPayment } from "x402-fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay("https://agentbit.app/v1/wallet/counterparties", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965","top":5})
});
console.log(await r.json());
# Python (x402 client)
from x402.clients.requests import x402_requests
s = x402_requests(account)
r = s.post("https://agentbit.app/v1/wallet/counterparties",
  json={"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965","top":5})
print(r.json())
// PHP
$r = Http::withHeaders(['X-PAYMENT' => $signedPayment])
  ->post('https://agentbit.app/v1/wallet/counterparties',
    array (
  'address' => '0x4395C7e383b7e05665aad7f36ed77c01923Dd965',
  'top' => 5,
));
$data = $r->json();