Subnames API
ENS subnames provide hierarchical identity within the ENS namespace. Think of them like subdomains for the decentralized web — alice.aboutme.eth gives Alice a verifiable identity under the AboutMe.eth namespace.
Overview
The Subnames API enables:
- Registration — Create new subnames under supported parent names
- Management — Update records, transfer ownership, renew registration
- Resolution — Resolve subnames via CCIP-Read gateway (ERC-3668)
Supported Parent Names
| Parent | Status | Registration |
|---|---|---|
aboutme.eth | ✅ Public | Open to all (1 free per address) |
atv.eth | 🔒 Private | Admin-only |
Pricing (aboutme.eth)
| Tier | Price/Year | Criteria |
|---|---|---|
| Free | $0.00 | First registration per wallet/IP |
| Standard | $0.97 | 5+ characters |
| Short | $4.97 | 4 characters |
| Dictionary | $9.97 | Common English words |
| Ultra Short | $19.97 | 3 characters |
| Premium | $97.00 | 1-2 characters |
First One Free!
Every wallet gets one free registration. No payment required!
Authentication Requirements
| Endpoint Type | Auth Required | Method |
|---|---|---|
| Read operations | ❌ None | Public |
| Free registration | ❌ None | One per wallet/IP |
| Paid registration | 💳 x402 | USDC on Base |
| Update records | 🔐 SIWE | Must own subname |
| Renew | 🔐 SIWE + 💳 x402 | Must own + payment |
| Transfer | 🔐 SIWE | Must own subname |
| Delete | 🔐 SIWE | Must own subname |
All Endpoints
Read Operations (Public)
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/subnames/{parent} | List subnames under parent |
| GET | /api/subnames/{parent}/by-owner/{address} | List names owned by address |
| GET | /api/subnames/{parent}/all | List all with full details |
| GET | /api/subnames/{parent}/stats | Global statistics |
| GET | /api/subnames/{parent}/search | Search by name or owner |
| GET | /api/subnames/{parent}/{name}/available | Check availability + pricing |
| GET | /api/subnames/{parent}/{name}/profile | Full profile with records |
| GET | /api/subnames/{parent}/{name} | Basic subname details |
| GET | /api/subnames/{parent}/{name}/price | Get registration price |
| GET | /api/subnames/{parent}/{name}/renewal-price | Get renewal quote |
Write Operations (Auth Required)
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /api/subnames/{parent} | Free tier | Register (free tier) |
| POST | /api/subnames/{parent}/purchase | x402 | Register with payment |
| PUT | /api/subnames/{parent}/{name} | SIWE | Update records |
| POST | /api/subnames/{parent}/{name}/renew | SIWE + x402 | Renew registration |
| POST | /api/subnames/{parent}/{name}/transfer | SIWE | Transfer ownership |
| DELETE | /api/subnames/{parent}/{name} | SIWE | Delete subname |
Quick Start
Check Availability
curl "https://api.web3identity.com/api/subnames/aboutme.eth/alice/available"
Register (Free)
curl -X POST "https://api.web3identity.com/api/subnames/aboutme.eth" \
-H "Content-Type: application/json" \
-d '{"name":"alice","owner":"0xYourAddress"}'
View Profile
curl "https://api.web3identity.com/api/subnames/aboutme.eth/alice/profile"
Resolution (CCIP-Read)
Subnames resolve via our CCIP-Read gateway (ERC-3668):
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
import { normalize } from 'viem/ens';
const client = createPublicClient({
chain: mainnet,
transport: http(),
});
const address = await client.getEnsAddress({
name: normalize('alice.aboutme.eth'),
});
console.log(address); // 0x123...
See CCIP Gateway for technical details.
Rate Limits
| Tier | Daily Limit |
|---|---|
| Anonymous | 100 requests |
| SIWE | 200 requests |
| API Key | 250 requests |
| x402 | Unlimited (pay-per-call) |
Use Cases
For Individuals:
- Personal identity hub (link socials, avatar, bio)
- Professional portfolio (developers, creators)
- Event attendees (claim badge subnames)
For Agents:
- Autonomous agent identity (agents can register & pay with x402)
- Verifiable on-chain presence
- Machine-readable records
For Communities:
- Member badges (dao.project.eth)
- Role-based access (mod.community.eth)
- Event participation tracking
Web Interface
- Register: https://aboutme.eth.limo
- Manage: https://aboutme.eth.limo/find/
Related Documentation
- SIWE Authentication Guide — Wallet authentication
- x402 Micropayments — Payment protocol
- CCIP Gateway — Off-chain resolution
- Register Tutorial — Step-by-step guide
Need help? support@web3identity.com