Abstract Naming Service for projects
Founder-friendly and developer-ready. Build identity users remember without asking them to copy and paste 42 characters all day.

Live traction snapshot
Updated liveOnchain counts from live ANS contracts on Abstract. No spreadsheet theater.
Why founders care
Identity That Sticks
Replace wallet strings with portable, human names users keep across apps.
Brand Layer for Communities
Launch names like player.project.abs to turn community membership into visible identity.
Revenue Potential
Project subdomains route 70% of paid registration revenue to the project wallet.
Less 0x, More Personality
No one has ever said: wow, what a beautiful wallet address.
Founder view
- Better UX: names are readable, social, and easy to share.
- Better retention: users keep identity while moving between products.
- Better brand lift: subdomains turn your project into a visible namespace.
- Faster go-to-market: launch in phases, no giant rewrite required.
Technical view
- Onchain source of truth for ownership and resolution.
- Oracle-aware registration flow using `registerWithPriceUpdate`.
- Primary name logic via `setRecord(name, wallet)` + `getNameByAddress(wallet)`.
- Event indexing keeps caches and user profiles synchronized.
Integration architecture
Recommended in productionRead layer
Resolve names and records directly from contract reads, cache for speed, refresh after writes.
Write layer
Use oracle-updated register methods, transaction states, and clear error handling.
Indexing layer
Index core events so search, profile, and ownership views stay trustworthy.
Optional SDK fast-track (not required)
Teams can integrate directly with contract calls, but ANS also provides an official SDK to reduce setup time for reads, writes, pricing/oracle helpers, and event watching.
Project subdomains, in detail
ANS supports branded namespaces like `player.project.abs`. This is where community, monetization, and identity all meet.
Flexible pricing
Use global ANS length pricing or define your own per-subdomain 15-slot pricing table.
NFT-gated access
Optionally require holders of a specific NFT collection to register in your subdomains.
Namespace control
Enable or pause subdomains anytime. When disabled, registrations are blocked immediately.
How subdomain pricing works
- If no custom pricing table is set, ANS uses global length pricing for the label.
- If custom table is set, slots map to label lengths 1-15, with slot 15 used for 15+ characters.
- Price is determined by label length only, not the full name including `.project`.
- Oracle conversion and update fee logic remains the same as top-level names.
Access control options
- Open registration for everyone in your subdomains.
- NFT-gated registration: require holders of a specific collection to mint.
- Temporarily pause subdomain registrations without deleting prior names.
Revenue flow
Subdomain paid registration: 70% to project wallet and 30% to ANS protocol split. Formula in contract logic:
projectAmount = price * 7000 / 10000; treasuryAmount = price - projectAmountNamespace examples
hero.project.absLabel length is 4, so pricing uses slot 4 (or custom slot 4).
og.project.absLabel length is 2, often set as premium tier for scarce badges.
season1-winner.project.absLength 15+ maps to slot 15 in custom pricing tables.

Riftborn integration

MyAbs integration
Core reads
getAddress(name)records(name)textRecords(name, key)getNameByAddress(address)getDomainsByOwner(owner)price(name)Core writes
registerWithPriceUpdate(name, priceUpdateData)registerWithCouponAndPriceUpdate(name, couponCode, priceUpdateData)setRecord(name, record)setTextRecord(name, key, value)transferDomain(name, to)migrateFromOldContract(oldTokenId, newName)Events to index
DomainRegisteredRecordSetTextRecordSetDomainTransferredDomainMigratedTransfer (ERC-721)Suggestions
Fast ideas partners can plug into games, casinos, marketplaces, and social products.
Use ANS names in player profiles, leaderboards, lobbies, and chat so users are recognized instantly.
For games, show subdomain badges (e.g. champion.project.abs) as progression/reward identity.
For casinos, map VIP tiers to gated subdomains and show them in tables, history, and referral pages.
For marketplaces, resolve seller/buyer names and display avatar + socials from text records.
For social/project hubs, launch campaign subdomains (season1.project.abs) for events and quests.
For power users, embed direct in-app registration using the oracle-updated registration path.
Build with ANS in phases
Start with display-only identity, then add profile support, then full registration, then branded subdomains. Fast wins first, deep integration second.