AgentBIT
← all tools

Wallet Profile

Wallet profiling for agents that need to know who they are dealing with — or size up any address on Base. One call combines public RPC state (native ETH balance, nonce, account type including EIP-7702 delegated EOAs with the delegate address) with Blockscout enrichment: total transaction count, up to 25 ERC-20 token holdings sorted by USD value (amount + USD where the explorer knows a price, with an honest truncation flag), explorer presence and public tags. Comparable proprietary wallet profilers charge $0.01 per endpoint and split this across several calls; this returns the profile in one call at $0.01 from open data. Part of the AgentBIT wallet-intelligence shelf: wallet-screen (sanctions + risk), wallet-profile (state), wallet-transactions (history), wallet-counterparties (relationships).

$0.01
USDC per call · x402
Endpoint
POST /v1/wallet/profile
MCP name
agentbit.wallet_profile
Status
active
Latency / uptime (7d)
833 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/profile \
  -H 'Content-Type: application/json' \
  -d '{"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965"}'

Input schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "description": "EVM address on Base (0x + 40 hex)"
        }
    },
    "required": [
        "address"
    ]
}

Output schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string"
        },
        "network": {
            "type": "string"
        },
        "type": {
            "type": "string",
            "enum": [
                "eoa",
                "contract",
                "delegated-eoa"
            ]
        },
        "eip7702_delegation": {
            "type": [
                "string",
                "null"
            ]
        },
        "balance_eth": {
            "type": "number"
        },
        "nonce": {
            "type": "integer"
        },
        "transactions_count": {
            "type": [
                "integer",
                "null"
            ]
        },
        "seen_on_explorer": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "public_tags": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "erc20_holdings": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "symbol": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "usd_value": {
                        "type": [
                            "number",
                            "null"
                        ]
                    }
                }
            }
        },
        "erc20_holdings_usd_total": {
            "type": "number"
        },
        "erc20_holdings_truncated": {
            "type": "boolean"
        }
    }
}

Code examples

// JavaScript (x402-fetch)
import { wrapFetchWithPayment } from "x402-fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay("https://agentbit.app/v1/wallet/profile", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965"})
});
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/profile",
  json={"address":"0x4395C7e383b7e05665aad7f36ed77c01923Dd965"})
print(r.json())
// PHP
$r = Http::withHeaders(['X-PAYMENT' => $signedPayment])
  ->post('https://agentbit.app/v1/wallet/profile',
    array (
  'address' => '0x4395C7e383b7e05665aad7f36ed77c01923Dd965',
));
$data = $r->json();