Skip to main content
GET
/
v1
/
resolve
/
{query}
Resolve Wallet
curl --request GET \
  --url https://api.example.com/v1/resolve/{query}
{
  "safe": "<string>",
  "eoa": "<string>",
  "username": "<string>"
}
Look up the full identity triple for any Polymarket user: proxy wallet (safe), EOA (externally owned account), and username. Accepts any of the three as input and returns all three. Backed by a pre-indexed table of every Polymarket wallet ever created. Lookups are sub-millisecond.
query
string
required
One of:
  • Safe address — Polymarket proxy wallet (0x..., 42 chars)
  • EOA address — externally owned account (0x..., 42 chars)
  • Username — Polymarket display name (case-insensitive)

By safe address

Look up a Polymarket proxy wallet to get the controlling EOA and username.
curl "https://api.polynode.dev/v1/resolve/0xfa85349327a63aa563029737f0492a79dca8f95d" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0xfa85349327a63aa563029737f0492a79dca8f95d",
  "eoa": "0xc2783891b1d2287345e30f75e0f1ecd189a967d0",
  "username": "Letsgetit6969"
}

By EOA address

Look up an EOA to find its Polymarket proxy wallet and username.
curl "https://api.polynode.dev/v1/resolve/0xc2783891b1d2287345e30f75e0f1ecd189a967d0" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0xfa85349327a63aa563029737f0492a79dca8f95d",
  "eoa": "0xc2783891b1d2287345e30f75e0f1ecd189a967d0",
  "username": "Letsgetit6969"
}

By username

Look up a Polymarket username to find both wallet addresses. Case-insensitive.
curl "https://api.polynode.dev/v1/resolve/DTCahill" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0x0ecdd241ec1bc84a40b8142bebe65787aee97514",
  "eoa": "0xddd57cce99ca962fe23aa2da95b139f86a241459",
  "username": "DTCahill"
}

Response fields

safe
string
required
Polymarket proxy wallet address (Gnosis Safe). This is the address that holds positions and executes trades on Polymarket.
eoa
string
required
Externally owned account that controls the proxy wallet. This is the signer address.
username
string
Polymarket display name. null if the user has no profile set.

Error responses

404 — Not found
{"error": "Address not found."}
{"error": "Username not found."}

Coverage

The resolver indexes every Polymarket wallet created through the SafeProxyFactory contract on Polygon. The index updates daily and covers ~3 million wallets. New wallets are picked up within 24 hours of creation.

Use cases

  • Database enrichment — bulk-resolve proxy wallets to EOAs for analytics pipelines
  • Profile lookups — show usernames alongside wallet addresses in your UI
  • Cross-referencing — match on-chain activity (EOA) to Polymarket activity (proxy wallet)
  • Whale tracking — identify the EOA behind a proxy wallet to track activity across protocols