{"openapi":"3.0.0","paths":{"/ens/v2/chains":{"get":{"description":"Returns all supported chains with their name and coinType. Use the chain name (e.g. `eth`, `base`) or coinType number (e.g. `60`, `2147492101`) when fetching addresses via `/addresses/:name` or `/profile/:name`.","operationId":"EnsForwardController_getSupportedChains","parameters":[],"responses":{"200":{"description":"Array of supported chain descriptors"}},"summary":"List supported chains","tags":["Forward Resolution"]}},"/ens/v2/texts/{name}":{"get":{"operationId":"EnsForwardController_getTexts","parameters":[{"name":"name","required":true,"in":"path","description":"ENS name to resolve","schema":{"minLength":6,"maxLength":256,"example":"artii.eth","type":"string"}},{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}},{"name":"keys","required":false,"in":"query","description":"Comma-separated text record keys","schema":{"example":"avatar,com.twitter","type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForwardTextsResponse"}}}},"400":{"description":"Invalid ENS name"}},"summary":"Resolve text records for an ENS name","tags":["Forward Resolution"]}},"/ens/v2/addresses/{name}":{"get":{"operationId":"EnsForwardController_getAddresses","parameters":[{"name":"name","required":true,"in":"path","description":"ENS name to resolve","schema":{"minLength":6,"maxLength":256,"example":"artii.eth","type":"string"}},{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}},{"name":"coins","required":false,"in":"query","description":"Comma-separated coin type numbers","schema":{"example":"60,0","type":"array","items":{"type":"number"}}},{"name":"chains","required":false,"in":"query","description":"Comma-separated chain names","schema":{"example":"eth,btc,base","type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForwardAddressesResponse"}}}},"400":{"description":"Invalid ENS name or unsupported chain"}},"summary":"Resolve cryptocurrency addresses for an ENS name","tags":["Forward Resolution"]}},"/ens/v2/contenthash/{name}":{"get":{"operationId":"EnsForwardController_getContenthash","parameters":[{"name":"name","required":true,"in":"path","description":"ENS name to resolve","schema":{"minLength":6,"maxLength":256,"example":"artii.eth","type":"string"}},{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","example":"ipfs://bafybeid..."},"exists":{"type":"boolean"}}}}}},"400":{"description":"Invalid ENS name"}},"summary":"Resolve the content hash for an ENS name","tags":["Forward Resolution"]}},"/ens/v2/profile/bulk":{"get":{"description":"Resolves each name concurrently. Accepts the same query params as /profile/:name, applied uniformly to all names.","operationId":"EnsForwardController_getBulkProfiles","parameters":[{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}},{"name":"contenthash","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"addresses","required":false,"in":"query","description":"Comma-separated chain names","schema":{"example":"eth,base,btc"}},{"name":"texts","required":false,"in":"query","description":"Comma-separated text keys","schema":{"example":"avatar,com.twitter"}},{"name":"names","required":true,"in":"query","description":"Comma-separated ENS names","schema":{"example":"artii.eth,vitalik.eth"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProfileResponse"}}}}}},"summary":"Resolve profiles for multiple ENS names in parallel","tags":["Forward Resolution"]}},"/ens/v2/profile/{name}":{"get":{"description":"Returns texts, addresses, and contenthash. When no query params are provided, uses the default profile (12 text keys, 8 chains). Set contenthash=true to include content hash.","operationId":"EnsForwardController_getProfile","parameters":[{"name":"name","required":true,"in":"path","description":"ENS name to resolve","schema":{"minLength":6,"maxLength":256,"example":"artii.eth","type":"string"}},{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}},{"name":"contenthash","required":false,"in":"query","description":"Include content hash (default: false)","schema":{"type":"boolean"}},{"name":"addresses","required":false,"in":"query","description":"Comma-separated chain names","schema":{"example":"eth,base,btc"}},{"name":"texts","required":false,"in":"query","description":"Comma-separated text keys","schema":{"example":"avatar,com.twitter"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"400":{"description":"Invalid ENS name or unsupported chain"}},"summary":"Resolve a full ENS profile in a single RPC call","tags":["Forward Resolution"]}},"/ens/v2/cache/{name}":{"delete":{"operationId":"EnsForwardController_clearCache","parameters":[{"name":"name","required":true,"in":"path","description":"ENS name to resolve","schema":{"minLength":6,"maxLength":256,"example":"artii.eth","type":"string"}},{"name":"type","required":false,"in":"query","description":"Cache type to clear (texts | addresses | contenthash | all)","schema":{"default":"all","example":"all","type":"string","enum":["texts","addresses","all"]}}],"responses":{"204":{"description":"Cache cleared"}},"summary":"Clear cached records for an ENS name","tags":["Forward Resolution"]}},"/ens/v2/reverse/bulk":{"get":{"description":"Resolves up to MAX_BULK_REVERSE_REQUEST addresses in a single batched RPC call.","operationId":"EnsReverseController_resolveBulk","parameters":[{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}},{"name":"addresses","required":true,"in":"query","description":"Comma-separated Ethereum addresses","schema":{"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0x225f137127d9067788314bc7fcc1f36746a3c3B5"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReverseResolveResult"}}}},"400":{"description":"Invalid address or too many addresses"}},"summary":"Bulk reverse resolve addresses to ENS names","tags":["Reverse Resolution"]}},"/ens/v2/reverse/{address}":{"get":{"operationId":"EnsReverseController_resolveOne","parameters":[{"name":"address","required":true,"in":"path","description":"Ethereum address","schema":{"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","type":"string"}},{"name":"noCache","required":false,"in":"query","description":"Skip cache and fetch fresh data","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseResolveResult"}}}},"400":{"description":"Invalid Ethereum address"}},"summary":"Reverse resolve a single Ethereum address to its ENS name","tags":["Reverse Resolution"]}}},"info":{"title":"Resolvio API","description":"ENS Resolution Service - Resolve ENS names, addresses, profiles and bulk reverse resolve","version":"1.0","contact":{"name":"Development Team","url":"https://namespace.ninja","email":"arti@namespace.ninja"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"}},"tags":[{"name":"Forward Resolution","description":"Resolve ENS names to addresses, text records, and content hashes"},{"name":"Reverse Resolution","description":"Resolve Ethereum addresses to ENS names"}],"servers":[],"components":{"schemas":{"TextResult":{"type":"object","properties":{"key":{"type":"string","example":"avatar"},"value":{"type":"string","example":"https://example.com/avatar.jpg"},"exists":{"type":"boolean","example":true}},"required":["key","exists"]},"ForwardTextsResponse":{"type":"object","properties":{"name":{"type":"string","example":"artii.eth"},"texts":{"type":"array","items":{"$ref":"#/components/schemas/TextResult"}}},"required":["name","texts"]},"AddressResult":{"type":"object","properties":{"coin":{"type":"number","example":60,"description":"Coin type identifier"},"chain":{"type":"string","example":"eth","description":"Chain name"},"value":{"type":"string","example":"0x179A862703a4adfb29896552DF9e307980D19285"},"exists":{"type":"boolean","example":true}},"required":["coin","exists"]},"ForwardAddressesResponse":{"type":"object","properties":{"name":{"type":"string","example":"artii.eth"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/AddressResult"}}},"required":["name","addresses"]},"ContenthashResult":{"type":"object","properties":{"value":{"type":"string","example":"ipfs://bafybeifx7yeb55armcsxwwitkymga5xf53dxiarykms3ygqic223w5sk3m"},"exists":{"type":"boolean","example":true}},"required":["exists"]},"ProfileResponse":{"type":"object","properties":{"name":{"type":"string","example":"artii.eth"},"texts":{"type":"array","items":{"$ref":"#/components/schemas/TextResult"}},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/AddressResult"}},"contenthash":{"$ref":"#/components/schemas/ContenthashResult"},"resolver":{"type":"string","example":"0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63"}},"required":["name","texts","addresses","contenthash"]},"ReverseResolveResult":{"type":"object","properties":{"name":{"type":"string","description":"Primary ENS name for this address (if reverse record is set)","example":"artii.eth"},"hasReverseRecord":{"type":"boolean","description":"Whether a reverse record exists for this address","example":true},"address":{"type":"string","description":"Ethereum address","example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}},"required":["hasReverseRecord","address"]},"BulkReverseResolveResult":{"type":"object","properties":{"result":{"description":"Array of reverse resolution results","type":"array","items":{"$ref":"#/components/schemas/ReverseResolveResult"}}},"required":["result"]}}}}