Policy-based access control for wallet-native agents
| ENS Name | Label | Status | Allowed Tools | Kill switch (ENS) | Actions |
|---|---|---|---|---|---|
*.myagent1.eth fleet |
Fleet root | active | hello, private-signal |
live | |
worker2.myagent1.eth |
Fleet worker | active | hello, private-signal |
live | |
myagent1.eth |
Fleet root (owner) | active | hello, private-signal |
live |
Ready.
GET /auth/reverse-ens?address=0x...POST /auth/challenge with { "ensName": "...", "address": "0x..." }message with your wallet signer (EIP-191)POST /auth/verify with { "ensName": "...", "address": "0x...", "signature": "0x..." }sessionToken as Authorization: Bearer <sessionToken>GET /tool/hello and GET /tool/private-signalFleet mode: add *.myfleet.eth to grant a whole namespace once. Spawn workers with their own keys via npm run fleet -- spawn worker1, fire one on-chain with npm run fleet -- revoke worker1 (access dies mid-session), or pause the entire fleet by setting agentgate.revoked=true on the root name.