ENS bulk reverse resolver

$0.002 per callUSDC via x402POST /api/ens-bulk-resolve

Reverse-resolve a batch of Ethereum addresses to ENS primary names + avatar URLs (up to 50 per call). Send POST /api/ens-bulk-resolve with the required field addresses and pay $0.002 per call over x402 or MPP (there is no free tier). It returns a JSON object with count, namedCount, namedPct, results and source.

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.

Category: Crypto & onchain dataTags: ens identity reverse-resolve bulk label

Try in playground →

Parameters

NameTypeRequiredDescription
addressesarrayyes1-50 Ethereum addresses (0x-prefixed 40-hex).

Example request

curl -i -X POST https://agent402.tools/api/ens-bulk-resolve \
  -H "Content-Type: application/json" \
  -d '{"addresses":["0xd8da6bf26964af9d7eed9e03e53415d37aa96045","0x000000000000000000000000000000000000dead"]}'

Without payment this returns HTTP 402 Payment Required with the exact price for ens-bulk-resolve; any x402 v2 or MPP client pays it and retries.

Example response

{
  "count": 2,
  "namedCount": 1,
  "namedPct": 50,
  "results": [
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "name": "vitalik.eth",
      "displayName": "vitalik.eth",
      "avatar": "https://..."
    },
    {
      "address": "0x000000000000000000000000000000000000dead",
      "name": null,
      "displayName": "0x0000…dead",
      "avatar": null
    }
  ],
  "source": "ensideas"
}
FieldTypeAlways presentIn the example
countnumberyes2
namedCountnumberyes1
namedPctnumberyes50
resultsarray of objectsyes2 items in the example
sourcestringyesensideas

From an MCP client

catalog.call {
  "slug": "ens-bulk-resolve",
  "params": {
    "addresses": [
      "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "0x000000000000000000000000000000000000dead"
    ]
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for ens-bulk-resolve; the stdio package pays it from a wallet or from an AGENT402_CREDITS_KEY issued earlier. Local install: npx -y [email protected].

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.({ maxAmountPerPayment: "$0.002" }); // refuse any quote above this tool's price
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/ens-bulk-resolve", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "addresses": [
      "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "0x000000000000000000000000000000000000dead"
    ]
  }),
});

Related tools

Known-address label lookup

FREE w/ compute · or $0.002 · POST /api/address-label

Label a known EVM address from a curated, committed dataset: major stablecoin + token contracts (the USDC and USDG.

All coin ids (paged)

$0.005 · GET /api/coins-list

The complete list of tracked coins (~18k) as {id, symbol, name}, paged: `page` + `perPage` (1-500, default 250).

EAS attestations

$0.002 · POST /api/eas-attestations

List EAS (Ethereum Attestation Service) attestations for an address as recipient, attester, or either.

Farcaster by Ethereum address

$0.002 · POST /api/farcaster-by-address

Reverse-lookup an Ethereum address to its Farcaster account (via verified address).

Farcaster profile

$0.002 · POST /api/farcaster-profile

Lookup a Farcaster profile by username or FID.

Wallet token transfers (filtered)

$0.003 · POST /api/asset-transfers

Recent token transfers for a wallet on Base, Ethereum and other EVM chains, newest first.