dinamic.eth

Not a database. A trust-minimised routing layer —any ENS client resolves it, no platform permission required.

dinamic
.eth

A dynamic ENS profile — records served live, zero gas.

CCIP Read
Offchain Resolver
Zero Gas Updates
Dynamic ENS
Records resolving live from gateway
gateway.ensub.org

Last Updated

Gateway Polls

connecting…

Live Records

Update instantly

POST to /update — change any record with no gas, no transaction wait.

CCIP Read

EIP-3668 — resolvers that fetch from any URL. Fully ENS compatible.

Namedinamic.ethloading…
About ENS Kit

Zero gas updates

Change your address, bio, links, or background at any time — no wallet transaction, no fee, instant effect.

Your .eth name, alive

ENS names are usually static. This stack makes yours dynamic — a live profile any wallet or browser can resolve in real time.

Build on top

A push API lets any backend update records automatically. CI pipeline, webhook, cron — your .eth name becomes a programmable config layer.

API keys →

Open source

Gateway, contract, and admin UI are fully open source and self-hostable. No vendor lock-in — you own the stack.

GitHub →
Under the hood
EIP-3668ENSIP-10

CCIP Read — Cross-Chain Interoperability Protocol

When a wallet resolves your .eth name, the on-chain resolver does not return data directly. Instead it reverts with an OffchainLookup — a signed pointer to a gateway URL. The client fetches from that URL, receives a cryptographically signed response, and calls back into the contract to verify the signature. No trust is placed in the gateway: the contract only accepts responses signed by the registered signer key. ENSIP-10 extends this to wildcard subdomains — one resolver handles every name under your .eth.

resolve(name) → OffchainLookup
GET /lookup/:sender/:data → signed response
resolveWithProof(response) → verify sig → return data
EIP-1577On-chain CID

Direct CID validation — Brave & native browser resolution

Browsers like Brave resolve .eth names by calling contenthash(bytes32) directly on the resolver — they do not follow CCIP Read. The resolver stores a CID encoded as EIP-1577 (CIDv1 dag-pb) on-chain via setContenthash(). This means the IPFS content hash is independently verifiable on-chain: anyone can call the contract and confirm the exact CID the name points to, with no trust in the gateway. Gas is paid once per content update, keeping the on-chain record as the single source of truth for browser-native resolution.

contenthash(node) → EIP-1577 bytes
decode → CIDv1 (dag-pb, sha2-256)
Brave fetches ipfs://<CID> directly
ENS-KIT/1 Convention Proposal

Text Record Extension Spec

A proposed convention for driving frontend UI directly from ENS text records. No custom resolver required — updates are instant, gasless, and require no redeployment.

Draft · ENS-KIT/1 →

Media

avatariconvideobannergallerycard_bgmediamedia_desc

Actions

pfp_buttonpfp_button_2urltipcaldonate

Integrations

com.twittercom.githubdiscordtelegramemailrss

Appearance

themelayoutbadge