Resolve a FOMO user id to the user and their verified wallet
Looks a user up by the id from a previous response. id is stable
where handle is not, so it is the value to store against your own
records and come back with.
404 when we do not know the id.
A 200 with both addresses null means we hold no verified wallet
for this user.
A response that carries a wallet counts as one of the plan’s monthly reveals.
Price: 100 CU on a hit, 200 CU on a 404.
GET
/
v2
/
user
/
id
/
{id}
Resolve a FOMO user id to the user and their verified wallet
Cover photo URL on our image host, or null. The path is /a/<key>.webp. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.
Avatar URL on our image host, or null. The path is /a/<key>.webp. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.
Canonical X profile link, https://x.com/<handle>, or null. Normalised from whatever the user typed on FOMO; null when that could not be reduced to a plausible handle. Self-declared and NOT verified by us — a claim, not a proof.
Verified social account links. Present only when social account links are enabled on the API. Absent, not null, when they are not.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FomoScan","colors":{"primary":"#2D6BF5","light":"#3B78FF","dark":"#2D6BF5"},"logo":{"light":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527","dark":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527"},"favicon":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"]}},"appearance":{"default":"dark"},"background":{"color":{"dark":"#08090C"}},"navbar":{"links":[{"href":"https://partner.fomoscan.sh/login","label":"Log in"}],"primary":{"type":"button","label":"Get an API key","href":"https://partner.fomoscan.sh/signup"}},"footer":{"socials":{"website":"https://fomoscan.sh"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Partner portal","icon":"key","href":"https://partner.fomoscan.sh"},{"anchor":"OpenAPI spec","icon":"code","href":"https://api.fomoscan.sh/openapi.json"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"socialscan","hasAudioNarration":false,"actualSubdomain":"socialscan","customDomains":["docs.fomoscan.sh"],"gitSource":{"type":"github","owner":"funny-development-org","repo":"fomoscan","deployBranch":"docs/mintlify","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad9b8401cd014c88d97bc9d","collectionId":"c186b78b-a7c0-4e23-b1cb-ae4e03460857","liveDeploymentHistoryId":"6ad9b8401cd014c88d97bc9d","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf2f4be705fd92bf16659a","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API reference","count":22},{"language":"default","tag":"Endpoints","count":19},{"language":"default","tag":"Overview","count":12},{"language":"default","tag":"Examples","count":10},{"language":"default","tag":"WebSockets","count":6},{"language":"default","tag":"Identities","count":6},{"language":"default","tag":"Pump","count":6},{"language":"default","tag":"Core concepts","count":4},{"language":"default","tag":"Thesis Feed","count":4},{"language":"default","tag":"Get started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet","slug":"/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet","pageMetadata":{"title":"Resolve a FOMO user id to the user and their verified wallet","description":"Looks a user up by the `id` from a previous response. `id` is stable\nwhere `handle` is not, so it is the value to store against your own\nrecords and come back with.\n\n- **404** when we do not know the id.\n- A **200** with both addresses null means we hold no verified wallet\n for this user.\n\nA response that carries a wallet counts as one of the plan’s monthly reveals.\n\n**Price:** 100 CU on a hit, 200 CU on a 404.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/id/{id}","href":"/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Looks a user up by the \", _jsx(_components.code, {\n children: \"id\"\n }), \" from a previous response. \", _jsx(_components.code, {\n children: \"id\"\n }), \" is stable\\nwhere \", _jsx(_components.code, {\n children: \"handle\"\n }), \" is not, so it is the value to store against your own\\nrecords and come back with.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"404\"\n }), \" when we do not know the id.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"A \", _jsx(_components.strong, {\n children: \"200\"\n }), \" with both addresses null means we hold no verified wallet\\nfor this user.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"A response that carries a wallet counts as one of the plan’s monthly reveals.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Price:\"\n }), \" 100 CU on a hit, 200 CU on a 404.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Resolve a FOMO user id to the user and their verified wallet","description":"Looks a user up by the `id` from a previous response. `id` is stable\nwhere `handle` is not, so it is the value to store against your own\nrecords and come back with.\n\n- **404** when we do not know the id.\n- A **200** with both addresses null means we hold no verified wallet\n for this user.\n\nA response that carries a wallet counts as one of the plan’s monthly reveals.\n\n**Price:** 100 CU on a hit, 200 CU on a 404.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/id/{id}","href":"/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Resolve a FOMO user id to the user and their verified wallet","tags":["Identities"],"description":"Looks a user up by the `id` from a previous response. `id` is stable\nwhere `handle` is not, so it is the value to store against your own\nrecords and come back with.\n\n- **404** when we do not know the id.\n- A **200** with both addresses null means we hold no verified wallet\n for this user.\n\nA response that carries a wallet counts as one of the plan’s monthly reveals.\n\n**Price:** 100 CU on a hit, 200 CU on a 404.","parameters":["685c4e23-35b9-4c64-9187-b29e92d3ccd4"],"security":["68ba3c95-a0ed-41fc-8726-ed047175f8c3"],"responses":{"200":"4a544dce-5e81-484d-b731-3532f50724d1","404":"492e1cee-968f-4466-819f-19268698d2cf"},"method":"get","type":"path","servers":["b77ad147-c485-42b8-aa9a-cac81c6dba4f"],"path":"/v2/user/id/{id}","baseUrlOptions":["https://api.fomoscan.sh"],"title":"Resolve a FOMO user id to the user and their verified wallet","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"685c4e23-35b9-4c64-9187-b29e92d3ccd4":{"schema":{"type":"string","format":"uuid","isRequired":true,"description":"FOMO user id, as returned in `id` on any user record. Same id FOMO uses.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"00000000-0000-0000-0000-000000000000","in":"path","name":"id","required":true,"description":"FOMO user id, as returned in `id` on any user record. Same id FOMO uses."}},"responses":{"4a544dce-5e81-484d-b731-3532f50724d1":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","handle","name","bio","banner","profilePicture","twitter","solanaAddress","evmAddress"],"properties":{"id":{"type":"string","format":"uuid","description":"Stable FOMO user id. Unlike `handle` it never changes, so it is the key to store.","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"handle":{"type":"string","description":"The canonical handle. Users rename — do not key on it.","isRequired":true,"uniqueKey":"handle","typeLabel":"string"},"name":{"oneOf":[{"type":"null","description":"Display name.","isRequired":true,"uniqueKey":"name.oneOf.0","typeLabel":"null"},{"type":"string","description":"Display name.","isRequired":true,"uniqueKey":"name.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"name","typeLabel":"null | string"},"bio":{"oneOf":[{"type":"null","description":"Profile blurb as written by the user, or null if they have none.","isRequired":true,"uniqueKey":"bio.oneOf.0","typeLabel":"null"},{"type":"string","description":"Profile blurb as written by the user, or null if they have none.","isRequired":true,"uniqueKey":"bio.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"bio","typeLabel":"null | string"},"banner":{"oneOf":[{"type":"null","description":"Cover photo URL on our image host, or null. The path is `/a/\u003ckey>.webp`. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.","isRequired":true,"uniqueKey":"banner.oneOf.0","typeLabel":"null"},{"type":"string","description":"Cover photo URL on our image host, or null. The path is `/a/\u003ckey>.webp`. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.","isRequired":true,"uniqueKey":"banner.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"banner","typeLabel":"null | string"},"profilePicture":{"oneOf":[{"type":"null","description":"Avatar URL on our image host, or null. The path is `/a/\u003ckey>.webp`. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.","isRequired":true,"uniqueKey":"profilePicture.oneOf.0","typeLabel":"null"},{"type":"string","description":"Avatar URL on our image host, or null. The path is `/a/\u003ckey>.webp`. A new picture gets a new URL. A picture added in the last few minutes can show a neutral placeholder until it is ready.","isRequired":true,"uniqueKey":"profilePicture.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"profilePicture","typeLabel":"null | string"},"twitter":{"oneOf":[{"type":"null","description":"Canonical X profile link, `https://x.com/\u003chandle>`, or null. Normalised from whatever the user typed on FOMO; null when that could not be reduced to a plausible handle. Self-declared and NOT verified by us — a claim, not a proof.","example":"https://x.com/tradername","isRequired":true,"uniqueKey":"twitter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Canonical X profile link, `https://x.com/\u003chandle>`, or null. Normalised from whatever the user typed on FOMO; null when that could not be reduced to a plausible handle. Self-declared and NOT verified by us — a claim, not a proof.","example":"https://x.com/tradername","isRequired":true,"uniqueKey":"twitter.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"twitter","typeLabel":"null | string"},"solanaAddress":{"oneOf":[{"type":"null","description":"Verified Solana address (base58), or null.","isRequired":true,"uniqueKey":"solanaAddress.oneOf.0","typeLabel":"null"},{"type":"string","description":"Verified Solana address (base58), or null.","isRequired":true,"uniqueKey":"solanaAddress.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"solanaAddress","typeLabel":"null | string"},"evmAddress":{"oneOf":[{"type":"null","description":"Verified EVM address, `0x`-prefixed, or null.","isRequired":true,"uniqueKey":"evmAddress.oneOf.0","typeLabel":"null"},{"type":"string","description":"Verified EVM address, `0x`-prefixed, or null.","isRequired":true,"uniqueKey":"evmAddress.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"evmAddress","typeLabel":"null | string"},"socials":{"type":"array","description":"Verified social account links. Present only when social account links are enabled on the API. Absent, not null, when they are not.","items":{"type":"object","required":["provider","subject","handle"],"properties":{"provider":{"type":"string","description":"Platform identifier: 'x', 'telegram', 'youtube', 'reddit', etc.","isRequired":true,"uniqueKey":"socials.items.[INDEX].provider","typeLabel":"string"},"subject":{"type":"string","description":"Platform-stable user id (e.g. Twitter numeric id '12345678'). Stable across renames; use this as your join key.","isRequired":true,"uniqueKey":"socials.items.[INDEX].subject","typeLabel":"string"},"handle":{"oneOf":[{"type":"null","description":"Display username at verification time. May change; do not key on it.","isRequired":true,"uniqueKey":"socials.items.[INDEX].handle.oneOf.0","typeLabel":"null"},{"type":"string","description":"Display username at verification time. May change; do not key on it.","isRequired":true,"uniqueKey":"socials.items.[INDEX].handle.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"socials.items.[INDEX].handle","typeLabel":"null | string"}},"uniqueKey":"socials.items.[INDEX]","typeLabel":"object"},"uniqueKey":"socials","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","handle":"\u003cstring>","name":"\u003cstring>","bio":"\u003cstring>","banner":"\u003cstring>","profilePicture":"\u003cstring>","twitter":"https://x.com/tradername","solanaAddress":"\u003cstring>","evmAddress":"\u003cstring>","socials":[{"provider":"\u003cstring>","subject":"\u003cstring>","handle":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"492e1cee-968f-4466-819f-19268698d2cf":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, lower-snake-case error code.","enum":["BAD_REQUEST","B2B_DISABLED","CONFLICT","FORBIDDEN","FORBIDDEN_SCOPE","FREE_TIER_DISABLED","INTERNAL_ERROR","NOT_FOUND","OVERLOADED","QUOTA_EXCEEDED","RATE_LIMITED","REVEAL_LIMIT_REACHED","SAMPLE_SET_ONLY","TIMEOUT","UNAUTHORIZED","VALIDATION_ERROR","WEBSOCKET_PLAN_REQUIRED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryAfter":{"type":"integer","description":"Seconds; only on RATE_LIMITED.","uniqueKey":"error.retryAfter","typeLabel":"integer"},"addUrl":{"type":"string","description":"Hint URL, present on some NOT_FOUND responses.","uniqueKey":"error.addUrl","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"title":"ErrorBody","uniqueKey":"","typeLabel":"ErrorBody · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"BAD_REQUEST","message":"\u003cstring>","retryAfter":123,"addUrl":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"68ba3c95-a0ed-41fc-8726-ed047175f8c3":{"b2bApiKey":{"type":"http","scheme":"bearer","description":"B2B API key (`fsk_live_…` / `fsk_test_…`), issued by FomoScan. Also accepted via `X-Api-Key`.","scopes":[],"schemeName":"b2bApiKey"}}},"servers":{"b77ad147-c485-42b8-aa9a-cac81c6dba4f":{"url":"https://api.fomoscan.sh","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"B2B API key (`fsk_live_…` / `fsk_test_…`), issued by FomoScan. Also accepted via `X-Api-Key`.","scopes":[],"schemeName":"b2bApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"B2B API key (`fsk_live_…` / `fsk_test_…`), issued by FomoScan. Also accepted via `X-Api-Key`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"b2bApiKey","name":"Authorization"}],"title":"b2bApiKey"}]},"originalFileLocation":"https://api.fomoscan.sh/openapi.json"},"subdomain":"socialscan","siteName":"FomoScan","title":"Resolve a FOMO user id to the user and their verified wallet - FomoScan","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T10:45:35.888Z","originalFileLocation":"api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Looks a user up by the id from a previous response. id is stable where handle is not, so it is the value to store against your own records and come back with. - 404 when we do not know the id. - A 200 with both addresses null means we hold no verified wallet for this user. A response that carries a wallet counts as one of the plan’s monthly reveals. Price: 100 CU on a hit, 200 CU on a 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FomoScan\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Resolve a FOMO user id to the user and their verified wallet - FomoScan\">\u003cmeta data-mint-head property=\"og:description\" content=\"Looks a user up by the id from a previous response. id is stable where handle is not, so it is the value to store against your own records and come back with. - 404 when we do not know the id. - A 200 with both addresses null means we hold no verified wallet for this user. A response that carries a wallet counts as one of the plan’s monthly reveals. Price: 100 CU on a hit, 200 CU on a 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FomoScan\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://socialscan.mintlify.app/_mintlify/api/og/v2?division=Identities\u0026amp;title=Resolve+a+FOMO+user+id+to+the+user+and+their+verified+wallet\u0026amp;description=Looks+a+user+up+by+the+%60id%60+from+a+previous+response.+%60id%60+is+stable%0Awhere+%60handle%60+is+not%2C+so+it+is+the+value+to+store+against+your+own%0Arecords+and+come+back+w\u0026amp;theme=eee421e92d714c8c3b4eb52f\u0026amp;signature=b1e6aebb1c5a508e83670ff4268645d75ebfcef535eedb158359047c4ebe0c44\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Resolve a FOMO user id to the user and their verified wallet - FomoScan\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Looks a user up by the id from a previous response. id is stable where handle is not, so it is the value to store against your own records and come back with. - 404 when we do not know the id. - A 200 with both addresses null means we hold no verified wallet for this user. A response that carries a wallet counts as one of the plan’s monthly reveals. Price: 100 CU on a hit, 200 CU on a 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://socialscan.mintlify.app/_mintlify/api/og/v2?division=Identities\u0026amp;title=Resolve+a+FOMO+user+id+to+the+user+and+their+verified+wallet\u0026amp;description=Looks+a+user+up+by+the+%60id%60+from+a+previous+response.+%60id%60+is+stable%0Awhere+%60handle%60+is+not%2C+so+it+is+the+value+to+store+against+your+own%0Arecords+and+come+back+w\u0026amp;theme=eee421e92d714c8c3b4eb52f\u0026amp;signature=b1e6aebb1c5a508e83670ff4268645d75ebfcef535eedb158359047c4ebe0c44\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FomoScan\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D6BF5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fomoscan.sh/#organization\",\"name\":\"FomoScan\",\"url\":\"https://docs.fomoscan.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fomoscan.sh#website\",\"name\":\"FomoScan\",\"url\":\"https://docs.fomoscan.sh\",\"publisher\":{\"@id\":\"https://docs.fomoscan.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet#webpage\",\"url\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet\",\"name\":\"Resolve a FOMO user id to the user and their verified wallet\",\"description\":\"Looks a user up by the id from a previous response. id is stable where handle is not, so it is the value to store against your own records and come back with. - 404 when we do not know the id. - A 200 with both addresses null means we hold no verified wallet for this user. A response that carries a wallet counts as one of the plan’s monthly reveals. Price: 100 CU on a hit, 200 CU on a 404.\",\"dateModified\":\"2026-10-26T10:45:35.888Z\",\"isPartOf\":{\"@id\":\"https://docs.fomoscan.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-handle-to-the-user-and-their-verified-wallet\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Identities\",\"item\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-handle-to-the-user-and-their-verified-wallet\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Resolve a FOMO user id to the user and their verified wallet\",\"item\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet#apireference\",\"headline\":\"Resolve a FOMO user id to the user and their verified wallet\",\"name\":\"Resolve a FOMO user id to the user and their verified wallet\",\"description\":\"Looks a user up by the id from a previous response. id is stable where handle is not, so it is the value to store against your own records and come back with. - 404 when we do not know the id. - A 200 with both addresses null means we hold no verified wallet for this user. A response that carries a wallet counts as one of the plan’s monthly reveals. Price: 100 CU on a hit, 200 CU on a 404.\",\"url\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fomoscan.sh/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet#webpage\"},\"dateModified\":\"2026-10-26T10:45:35.888Z\",\"publisher\":{\"@id\":\"https://docs.fomoscan.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fomoscan.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FomoScan\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FomoScan","nav":{"global":{"anchors":[{"anchor":"Partner portal","icon":"key","href":"https://partner.fomoscan.sh"},{"anchor":"OpenAPI spec","icon":"code","href":"https://api.fomoscan.sh/openapi.json"}]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/api-reference/introduction"},{"title":"Identity and PnL","href":"/api/identity"},{"title":"Theses and pump.fun","href":"/api/theses"}]},{"group":"Endpoints","pages":[{"group":"Identities","pages":[{"title":"Resolve a FOMO handle to the user and their verified wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/handle/{handle}","href":"/api-reference/identities/resolve-a-fomo-handle-to-the-user-and-their-verified-wallet"},{"title":"Resolve a wallet address to the user(s) behind it","description":"The same record as `/v2/user/handle/{handle}`.\n\n- **EVM addresses must be `0x`-prefixed.** The chain is inferred\n from the address.\n- **404** when we hold no user for the address.\n- One record is returned even when the address is linked to more than\n one user. Repeat calls return the same one.\n\nA response that carries a wallet counts as one of the plan’s monthly reveals.\n\n**Price:** 30,000 CU on a hit, 200 CU on a 404.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/wallet/{address}","href":"/api-reference/identities/resolve-a-wallet-address-to-the-users-behind-it"},{"title":"Resolve a FOMO user id to the user and their verified wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/id/{id}","href":"/api-reference/identities/resolve-a-fomo-user-id-to-the-user-and-their-verified-wallet"},{"title":"Resolve a handle to its wallets (temporarily unavailable)","description":"**Temporarily unavailable.** Live resolution is paused.\n\n- A handle we already hold a wallet for is answered from our data: **200** with the\n ordinary user record and `x-fomoscan-resolve: cached`, at the usual hit price.\n- A request for a handle we do not already hold answers **202**\n `{ pending: true, reason: \"unavailable\", retryable: false }` and is not charged.\n- This paused response includes a `message` explaining that no job was queued and cached wallet lookups remain available.\n\nWhen live resolution runs, it returns the wallet we hold for this handle, and looks for\none when we hold none:\n\n- **200** returns the ordinary user record.\n- **202** `{ pending: true, reason }` means the answer is not ready, not that the call\n failed. `retryAfterSeconds` says when to ask again. Asking again does not start a\n second resolve, it joins the one already running.\n- **404** when no such FOMO user exists, as opposed to a 202, which means we could not\n answer yet.\n- A live answer can take several seconds, so allow for it in your client timeout.\n- `x-fomoscan-resolve: cached` on a response answered from a wallet we already held, `live` when we went and looked.\n- Refused with **402** before any work starts when the key cannot pay for a hit.\n- Rate limited to **10/minute** per IP, separately from your plan rate.\n\nA response that carries a wallet counts as one of the plan’s monthly reveals.\n\n**Price:** 30,000 CU on a hit, 200 CU on a 202 or a 404. A paused lookup (202 with reason unavailable and retryable false) is not charged.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json post /v2/user/handle/{handle}/resolve","href":"/api-reference/identities/resolve-a-handle-to-its-wallets-temporarily-unavailable"},{"title":"One trader's realized and unrealized profit across their whole wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/user/handle/{handle}/pnl","href":"/api-reference/identities/one-traders-realized-and-unrealized-profit-across-their-whole-wallet"},{"title":"Whole-wallet profit for up to 100 traders in one call","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json post /v2/user/handles/pnl","href":"/api-reference/identities/whole-wallet-profit-for-up-to-100-traders-in-one-call"}]},{"group":"Thesis Feed","pages":[{"title":"Every thesis, newest first — the unfiltered feed","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/thesis","href":"/api-reference/thesis-feed/every-thesis-newest-first-—-the-unfiltered-feed"},{"title":"Theses for a token, newest first, ask on a timer for a live feed","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/thesis/token/{tokenAddress}","href":"/api-reference/thesis-feed/theses-for-a-token-newest-first-ask-on-a-timer-for-a-live-feed"},{"title":"Theses by a user, newest first, ask on a timer for their feed","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/thesis/user/{id}","href":"/api-reference/thesis-feed/theses-by-a-user-newest-first-ask-on-a-timer-for-their-feed"},{"title":"Theses by a user about one token","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/thesis/user/{id}/token/{tokenAddress}","href":"/api-reference/thesis-feed/theses-by-a-user-about-one-token"}]},{"group":"Account","pages":[{"title":"Introspect the calling API key","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/me","href":"/api-reference/account/introspect-the-calling-api-key"}]},{"group":"Pump","pages":[{"title":"A pump.fun user by wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/user/wallet/{wallet}","href":"/api-reference/pump/a-pumpfun-user-by-wallet"},{"title":"Every pump.fun callout, newest first","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/thesis","href":"/api-reference/pump/every-pumpfun-callout-newest-first"},{"title":"A coin's callout wall, newest first","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/thesis/token/{mint}","href":"/api-reference/pump/a-coins-callout-wall-newest-first"},{"title":"A wallet's callouts, newest first","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/thesis/wallet/{wallet}","href":"/api-reference/pump/a-wallets-callouts-newest-first"},{"title":"The pump.fun PnL leaderboard","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/leaderboard/traders","href":"/api-reference/pump/the-pumpfun-pnl-leaderboard"},{"title":"One pump.fun wallet's realized and unrealized profit","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/pump/user/wallet/{wallet}/pnl","href":"/api-reference/pump/one-pumpfun-wallets-realized-and-unrealized-profit"}]},{"group":"WebSocket","pages":[{"title":"Live theses, every token or a token list (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/ws","href":"/api-reference/websocket/live-theses-every-token-or-a-token-list-websocket"},{"title":"Live pump.fun callouts, every token or a token list (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/openapi.json get /v2/ws/pump","href":"/api-reference/websocket/live-pumpfun-callouts-every-token-or-a-token-list-websocket"}]}]}]},{"tab":"WebSockets","pages":[{"title":"WebSockets","href":"/websockets/overview"}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Resolve a FOMO user id to the user and their verified wallet - FomoScan","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}