preview — $dots not launched. claims are stored as preview and reset at launch.

api

free, public, json. no key needed. open cors, short cache.

base urlhttps://snsdots.com
get/api/resolve/{name.ending}

resolve a name to its owner wallet.

https://snsdots.com/api/resolve/dav.pump
// wallet dot
{ "type": "wallet", "name": "dav", "ending": "pump", "wallet": "<base58>", "preview": true }
// coin dot
{ "type": "coin", "name": "crypto", "ending": "pump", "mint": "<mint>", "owner": "<claimer>", "preview": true }
// 404
{ "error": "not_found" }
get/api/reverse/{wallet}

reverse lookup: a wallet's primary name (or newest wallet dot).

https://snsdots.com/api/reverse/<wallet>
{ "wallet": "<base58>", "name": "dav", "ending": "pump", "handle": "dav.pump", "preview": true }
get/api/holdings/{wallet}

live wallet holdings: sol + spl + token-2022 with logos and usd prices (cached ~60s).

https://snsdots.com/api/holdings/<wallet>
{ "wallet": "<base58>", "sol": 1.23, "tokens": [{ "mint": "…", "symbol": "…", "logo": "…", "amount": 0, "priceUsd": null, "valueUsd": null, "verified": false }], "totalUsd": 0, "unpricedCount": 0, "refreshedAt": "…" }
get/api/latest-call/{wallet}

a wallet's most recent pump.fun buy (cached ~30s). change is sol-denominated since entry; missing data is omitted.

https://snsdots.com/api/latest-call/<wallet>
{ "wallet": "<base58>", "call": { "mint": "…", "name": "…", "symbol": "…", "solSpent": 1.5, "tokens": 1000000, "entryPriceSol": 0.0000015, "blockTime": "…", "signature": "…", "marketCapUsd": 42000, "priceSol": 0.000002, "changeSinceEntry": 0.33 } }
// none found
{ "wallet": "<base58>", "call": null }