81trust / 100
Ens Bulk Resolve
by ENS bulk reverse resolver in Onchain & crypto
x402 APIPassing, checked 2 h ago
Reverse-resolve a batch of Ethereum addresses to ENS primary names + avatar URLs (up to 50 per call). Returns one row per address with name (or null), displayName (with checksum if no name), and avatar URI. Use to label transaction lists, wallet leaderboards, or NFT holder snapshots with human-readable names instead of 0xabc… stubs.
POST https://agent402.tools/api/ens-bulk-resolve
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 197 ms typical, 197 ms slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://agent402.tools/api/ens-bulk-resolve" \
-H "content-type: application/json" \
-d '{"addresses":["0xd8da6bf26964af9d7eed9e03e53415d37aa96045","0x000000000000000000000000000000000000dead"]}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagent402.tools%2Fapi%2Fens-bulk-resolve
const res = await pay("https://agent402.tools/api/ens-bulk-resolve", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"addresses":["0xd8da6bf26964af9d7eed9e03e53415d37aa96045","0x000000000000000000000000000000000000dead"]}),
});
console.log(await res.json());Example input
{
"addresses": [
"0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"0x000000000000000000000000000000000000dead"
]
}Example output
{
"count": 2,
"namedCount": 1,
"namedPct": 50,
"results": [
{
"address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"avatar": "https://...",
"displayName": "vitalik.eth",
"name": "vitalik.eth"
},
{
"address": "0x000000000000000000000000000000000000dead",
"avatar": null,
"displayName": "0x0000…dead",
"name": null
}
],
"source": "ensideas"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 202 ms | $0.002 |
| 7 h ago | Passed | 402 | 197 ms | $0.002 |