Architecture
The .agt ecosystem is composed of four repositories and a registry layer. Everything resolves through the public .agt resolver and records ownership on the Polygon blockchain.
System Components
┌─────────────────────────────────────────────────────────────┐
│ .agt Ecosystem │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌────────────────────┐ │
│ │ Browser │ │ agt-site │ │ @agt/resolver SDK │ │
│ │ (Tauri) │ │ (Next.js 16) │ │ (TypeScript) │ │
│ └────┬─────┘ └──────┬───────┘ └─────────┬──────────┘ │
│ │ │ │ │
│ │ resolve │ register/config │ resolve │
│ │ │ │ │
│ ┌────┴───────────────┴─────────────────────┴──────────┐ │
│ │ .agt Registry Layer │ │
│ │ ┌─────────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Public Resolver │ │ Registration API │ │ │
│ │ │ (read-only) │ │ (zone CRUD, minting, │ │ │
│ │ │ │ │ records) │ │ │
│ │ └─────────────────┘ └──────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────┴──────────────────────────────┐ │
│ │ Polygon Blockchain │ │
│ │ Registry Contract: 0x465ea4967479A96D4490d575b5a6cC2B4A4BEE65 │
│ │ NFT ownership, on-chain records │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘Repositories
| Repo | Purpose | Stack |
|---|---|---|
browser | Web3 browser — first .agt client | Tauri v2, Rust, vanilla JS/CSS |
agt/agt-site | Registration site + agent directory | Next.js 16, TypeScript, Tailwind |
agt/resolver-sdk | Standalone resolver library | TypeScript, zero dependencies |
agt/agtdomains-register | Legacy registration site (archived) | Next.js 15, React 19, RainbowKit |
How the Pieces Fit Together
The registry exposes two API surfaces: the Public Resolver (read-only, no auth) and the Registration API (authenticated, write access).
- Browser and @agt/resolver use the public resolver to look up TXT records for any .agt name. This is the read path — no credentials needed.
- agt-site uses the registration API to create zones, mint NFTs, and write TXT records. This is the write path — server-side only.
- All registration ultimately records ownership on the Polygon blockchain via the registry contract. The
agt-ownerfield in a manifest can be verified against the on-chain NFT owner.
Resolution Flow
Client calls resolveAgent("exampleagent.agt")
→ GET <public-resolver>/exampleagent.agt
→ Response includes TXT records
→ Parser finds agt-version=1 sentinel
→ Extracts all agt-* fields into AgentManifest
→ Returns structured manifest to callerThe same resolution path works from the Tauri browser (Rust), the resolver SDK (TypeScript), or any HTTP client that can call the public resolver endpoint.