ensCcipRequest
ensCcipRequest(
__namedParameters,opts?):Promise<`0x${string}`>
Defined in: names-ens/src/ens.ts:134
EIP-3668 (CCIP-Read) lookups as a wallet may make them (scan 2026-10-27 modules, F37): a name’s
offchain resolver picks the gateway URLs, so only https URLs whose host is not, as written, a private
one are asked — no http://, no localhost / LAN / link-local / CGNAT address in any spelling, no
placeholder in the host — and a redirect is refused (redirect: 'error'). Same protocol as viem’s own:
GET with {data} in the URL, POST {data, sender} otherwise, a hex data answer, at most
opts.maxResponseBytes, within opts.timeoutMs per gateway.
Where the host resolves depends on the transport:
opts.fetch: up to that fetch (e.g.ensCcipViaProxyto your server’screateEnsCcipHandler).- Node, no
opts.fetch(scan 2026-10-30 F17): the pinned transport ofcreateEnsCcipHandler, in process — every DNS answer is checked and the connection is pinned to it, so a public-looking name that resolves to a private address is not asked. A gateway host whose records mix public and private addresses is refused; behind a corporate split-horizon DNS or an outbound proxy, passopts.fetch. - A browser and other runtimes: the global fetch. The URL text is checked, the resolved address is not: no
DNS-level isolation. Ask gateways through your server (
ensCcipViaProxy) where that matters. - React Native: its fetch cannot refuse a redirect, and checking the final URL afterwards is too late (the
redirected request has gone out: scan 2026-10-28 F13), so no gateway is asked unless
opts.fetchhandles redirects oropts.allowRedirectFollowingFetchaccepts the risk.
Parameters
Section titled “Parameters”__namedParameters
Section titled “__namedParameters”CcipRequestParameters
EnsCcipOptions = {}
Returns
Section titled “Returns”Promise<`0x${string}`>