Skip to main content
GET
/
v1
/
resolve
/
{query}
Resolve wallet
curl --request GET \
  --url https://api.polynode.dev/v1/resolve/{query} \
  --header 'x-api-key: <api-key>'
{
  "safe": "0x8b60bf0f650bf7a0d93f10d72375b37de18f8c40",
  "eoa": "0xa60601a4d903af91855c52bfb3814f6ba342f201",
  "username": null,
  "type": "deposit_wallet"
}
Look up the full identity for any Polymarket user: preferred trading wallet, EOA (externally owned account), username, and wallet type. Accepts any of the three identifiers as input and returns all fields. Supports both Polymarket’s original Safe proxy wallets and the newer deposit wallets. The response format is unchanged: safe is kept for backward compatibility, but it means the preferred Polymarket trading wallet.
If the controlling EOA has a deployed deposit wallet, safe returns that deposit wallet and type is "deposit_wallet" — even when you query the EOA, username, or older Safe wallet. If no deposit wallet is deployed, safe falls back to the existing Safe/proxy wallet.
query
string
required
One of:
  • Wallet address — Polymarket trading wallet: Safe proxy, deposit wallet, or proxy wallet (0x..., 42 chars)
  • EOA address — externally owned account (0x..., 42 chars)
  • Username — Polymarket display name (case-insensitive)

By wallet address (Safe, no deposit wallet)

Look up a Polymarket Safe proxy wallet to get the controlling EOA and username. If that EOA also has a deployed deposit wallet, the response returns the deposit wallet in safe instead.
curl "https://api.polynode.dev/v1/resolve/0xfa85349327a63aa563029737f0492a79dca8f95d" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0xfa85349327a63aa563029737f0492a79dca8f95d",
  "eoa": "0xc2783891b1d2287345e30f75e0f1ecd189a967d0",
  "username": "Letsgetit6969",
  "type": "safe"
}

By wallet address (deposit wallet)

Look up a Polymarket deposit wallet to get the controlling EOA. Deposit wallets are a newer wallet type introduced by Polymarket for new accounts.
curl "https://api.polynode.dev/v1/resolve/0x8b60bf0f650bf7a0d93f10d72375b37de18f8c40" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0x8b60bf0f650bf7a0d93f10d72375b37de18f8c40",
  "eoa": "0xa60601a4d903af91855c52bfb3814f6ba342f201",
  "username": null,
  "type": "deposit_wallet"
}

By EOA address

Look up an EOA to find its preferred Polymarket trading wallet and username. Deposit wallets are prioritized when deployed.
curl "https://api.polynode.dev/v1/resolve/0xc2783891b1d2287345e30f75e0f1ecd189a967d0" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0x8b60bf0f650bf7a0d93f10d72375b37de18f8c40",
  "eoa": "0xa60601a4d903af91855c52bfb3814f6ba342f201",
  "username": null,
  "type": "deposit_wallet"
}
Resolve a Polymarket magic-link wallet — the wallet type used by accounts created with email or social login. The endpoint returns the controlling EOA, recovered automatically.
curl "https://api.polynode.dev/v1/resolve/0x16cbe223607a6513ae76d1e3751c78e4eabc2704" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0x16cbe223607a6513ae76d1e3751c78e4eabc2704",
  "eoa": "0xbe5ba588ab7173b34efc0706b881794951014293",
  "username": "MRF",
  "type": "proxy"
}

By username

Look up a Polymarket username to find the preferred trading wallet. Case-insensitive.
curl "https://api.polynode.dev/v1/resolve/Fredi9999" \
  -H "x-api-key: YOUR_KEY"
{
  "safe": "0x1f2dd6d473f3e824cd2f8a89d9c69fb96f6ad0cf",
  "eoa": null,
  "username": "Fredi9999",
  "type": "safe"
}

Response fields

safe
string
required
Preferred Polymarket trading wallet address. The field name is kept for backward compatibility. If the controlling EOA has a deployed deposit wallet, this is the deposit wallet. Otherwise it is the existing Safe/proxy wallet.
eoa
string
Externally owned account that controls the trading wallet. This is the signer address. May be null for some magic-link wallets where the EOA cannot be determined.
username
string
Polymarket display name. null if the user has no profile set.
type
string
Wallet type for the address returned in safe. One of:
  • "safe" — Gnosis Safe proxy wallet (most existing Polymarket accounts)
  • "deposit_wallet" — deposit wallet (newer Polymarket accounts)
  • "proxy" — magic-link wallet (accounts created via email or social login)

Error responses

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

Coverage

The resolver supports every Polymarket wallet type on Polygon, including Safe proxy wallets and the newer deposit wallets. Cached lookups are sub-millisecond. Uncached lookups resolve on-chain in real time, then prefer a deployed deposit wallet when one exists for the resolved EOA.

Use cases

  • Database enrichment — bulk-resolve trading wallets to EOAs for analytics pipelines
  • Profile lookups — show usernames alongside wallet addresses in your UI
  • Cross-referencing — match on-chain activity (EOA) to the preferred Polymarket trading wallet
  • Whale tracking — identify the EOA behind a trading wallet to track activity across protocols
  • Wallet type detection — use the type field to determine how a user’s account is set up

Authorizations

x-api-key
string
header
required

Path Parameters

query
string
required

Wallet address, EOA address, or Polymarket username (case-insensitive)

Response

Resolved wallet identity

safe
string

Preferred Polymarket trading wallet. Field name is kept for backward compatibility; deposit wallet is returned when deployed, otherwise Safe/proxy.

eoa
string | null

Externally owned account (signer)

username
string | null

Polymarket display name, or null

type
enum<string>

Wallet type for the address returned in safe

Available options:
safe,
deposit_wallet,
proxy