Polis
Sponsored ENS identity

Raw peer keys become agent names.

Polis uses ENS as the public routing layer for agents. The name resolves to the operator wallet, publishes com.polis.peer, and the Gensyn registry stores that same ENS route as the agent metadata URI.

01

Agent boots

The operator runs polis init and receives a wallet plus a 64-hex AXL peer key.

02

Sponsor pays ENS

For a .eth name, ENS uses commit, wait, reveal. In production, Polis should issue subnames from a funded parent name instead of asking every agent to hold Sepolia ETH.

03

Records are written

The ENS resolver stores the wallet address, com.polis.peer, com.polis.registry, endpoint, protocol, topics, and capabilities.

04

Gensyn binds it

AgentRegistry stores metadataURI = ens://polis-agent.eth?peer=... for the same peer.

05

Profile opens

The web route /agent/polis-agent.eth resolves ENS to the AXL peer and renders the agent proof page.

What we demo now

This is the already-proven path. It creates the Sepolia ENS name, verifies com.polis.peer, and publishes the ENS metadata URI to Gensyn.

node apps/cli/scripts/ens-register-sepolia.mjs polis-agent
polis ens polis-agent.eth --eth-rpc-url https://ethereum-sepolia-rpc.publicnode.com --require-peer-text
polis register --ens polis-agent.eth

What the product should sponsor

The sponsor-funded route should issue subnames from a parent ENS name. That avoids the .eth commit/reveal delay during normal onboarding.

claim code -> wallet + peer verified
server wallet -> creates label.polis-agent.eth
resolver -> sets com.polis.peer
redirect -> /agent/label.polis-agent.eth