RegisterMy NamesMarketExploreFeedLeaderboardLookupDocsFollow on X
Documentation

Everything about .hood

Your guide to names on Robinhood Chain — how to register, manage, and resolve .hood names. New here? Start with the basics and work down.

What is .hood?

A .hood name is a human-readable identity for your wallet on Robinhood Chain. Instead of sending money to 0x7Ac4…d3F9, people can send it to robin.hood. One name replaces the long address — and it works across every app that supports the standard.

Under the hood it's an ENS-standard on-chain record you own: an ERC-721 NFT that points to your address, plus a profile you control. Register it once and it's yours for as long as you keep it renewed.

one name for your wallet, your profile, and your money — readable by humans, understood by apps.

The Robinhood Chain

.hood names live on Robinhood Chain — a fast, low-fee Arbitrum-based network built for everyday transactions. Because names are stored on-chain, you hold them in your own wallet as a token: no company can take them back, and you can move or sell them freely.

Transactions settle in a couple of seconds and cost a fraction of a cent, so registering, renewing, or transferring a name feels instant and cheap.

Quick start

1
Connect a wallet

Open the app and tap Connect Wallet in the top-right. Pick Robinhood Wallet, MetaMask, Coinbase, or WalletConnect.

2
Search a name

Type the name you want. We check availability live on-chain and show the yearly price instantly.

3
Register it

Choose how many years and confirm. A commit-reveal keeps it un-snipeable, and the name mints to your wallet in seconds.

Registering a name

Names are registered for a yearly term. Registering mints a fresh ERC-721 record that points to your wallet. You pick the length up front (1–100 years) and can always extend later.

Names can use letters, numbers, hyphens, and emoji, with a 2-character minimum. They’re normalized to the ENS standard (ENSIP-15) — case-folded (ROBINrobin) and canonicalized — and confusable or mixed-script names are rejected so no one can register a look-alike of yours. The .hood ending is added automatically — you type the part in front.

Anti-snipe by design: registration is commit-reveal — a hashed commit, then a reveal ~10s later — so bots can't front-run the name you're claiming on this FCFS chain.

Pricing & rarity

Shorter names are rarer, so they cost more. Pricing is per year, USD-denominated, and shown live as you search. Everything 5 characters and up is a flat, friendly $5 a year.

LengthExamplePrice / year
5+ charactersrobin.hood$5
4 charactersmoon.hood$160
3 charactersape.hood$640

Same tiers as ENS — but on Robinhood Chain gas is cents, not tens of dollars, so the all-in cost is far lower.

Renewals & expiry

Every name has an expiry date. As long as you renew before it lapses (plus a 90-day grace period), the name stays yours. In My Names, each name shows its expiry and an Extend +1y button — one tap adds another year.

If a name fully expires past its grace period, it returns to the pool and anyone can register it again — so extend names you care about ahead of time.

Your primary name

You can own many names, but one is your primary — the identity apps and wallets display instead of your address (reverse resolution). It's what people see when you send a payment or show up in an activity feed.

Set it in My Names with Set primary. Switch it anytime; only one name is primary at a time.

Records & profile

A name carries a small profile you own: the wallet address it resolves to, an avatar, and optional text records like a website or social handles. Apps read these to show a richer identity than a bare address.

Records live with the name, so they travel with it — if you sell or transfer a name, the new owner sets their own.

Premium names

The Marketplace surfaces the most-wanted short and culture names — 3 and 4 character names, number clubs, and icons — with live on-chain availability. It's the fastest way to spot a premium name that's still unclaimed.

Use the length filters to narrow the grid. Anything still available can be claimed on the spot at its registration price.

Claiming a name

1

Browse the market and hit Register on a name you want.

2

Connect your wallet if you haven't yet, then pick your term and review the price.

3

Confirm. The name mints to your wallet and shows up in My Names.

Referrals

Every wallet has a referral link — share it and earn on-chain, instantly, with no sign-up. Find yours in My Names → Refer & earn (it looks like hood.ag/?ref=yourname).

Registrations

You earn 5% of every name registered through your link. The person you referred pays 5% less.

Marketplace

You earn 4% of secondary sales made via your link; the buyer gets 4% off. Sellers are unaffected.

Rewards are paid directly by the smart contract in the same transaction — nothing to claim, nobody to trust. When someone opens the app through your link, the credit sticks with them until they buy, so you get paid whenever they do.

Fees

Registration
Paid per year when you register or renew.
From $5/yr
Network / gas
Tiny on Robinhood Chain — usually a fraction of a cent.
~$0.01
Marketplace (resale)
On secondary sales — funds referral rewards; sellers net the rest.
10%
Registration protocol fee
No hidden platform fee — you pay the name price + gas.
0%

Connecting a wallet

Your wallet is how you pay, sign, and hold your names. Tap Connect Wallet and choose Robinhood Wallet, MetaMask, Coinbase Wallet, or WalletConnect. Approve the connection and you're in.

Your address appears top-right — tap it to disconnect anytime. Disconnecting never affects the names you own, which live on-chain regardless.

Ownership & transfers

A .hood name is an ERC-721 token in your wallet — you truly own it. You can hold it, point it at any address, set its records, make it primary, or sell/transfer it. Nobody can move it without your signature.

When a name transfers, ownership and control pass entirely to the new holder, who then manages its records and renewals.

See your name in your wallet

Wallets like MetaMask show a .hood name once you add it as a custom NFT. Easiest way: open My Names in the app and tap Import to wallet on any name — you get a one-click Add to MetaMask plus the exact Contract address and Token ID to copy. Make sure your wallet is on Robinhood Chain (4663).

Token ID is the name's label hashed to a number — uint256(keccak256(label)). The My Names tab shows it for you, ready to copy.

Staying safe

Never share your seed phrase. No one from hood will ever ask for it.

Check the name and amount in every transaction before you confirm.

Watch your expiry dates and renew names you want to keep.

Contracts

.hood is a full ENS-standard stack, deployed and immutable at the registry level (upgradeable registrar/resolver/controller behind proxies). All live on Robinhood Chain (id 4663):

Resolving .hood

Any app resolves a .hood name in one call to the UniversalResolver. Forward: name → address. Reverse: address → primary name (with anti-spoof verification).

import { resolveHood, reverseHood } from '@hoodag/sdk';

const addr = await resolveHood('robin.hood');
// '0x45aa14…'

const { name, verified } = await reverseHood(addr);
// { name: 'robin.hood', verified: true }

Same ABIs as ENS — point any ENS SDK at registry 0x3E717dc8 on chain 4663 and it just works.

No dependencies at all? One eth_call to the UniversalResolver does it — resolve(string) is selector 0x461a4478, reverse(address) is 0xe30bd740. See llms-full.txt for the raw request.

SDK & npm

The @hoodag/sdk package wraps resolution so you don't hand-encode calldata. Zero dependencies (uses global fetch, browser & Node 18+), with optional viem helpers.

npm install @hoodag/sdk
import { resolveHood, reverseHood, resolveTextHood } from '@hoodag/sdk';

const addr = await resolveHood('robin.hood');           // '0x45aa14…' | null
const { name, verified } = await reverseHood(addr);     // { name:'robin.hood', verified:true }
const x = await resolveTextHood('robin.hood', 'com.twitter');

Every function takes an optional rpcUrl as its last argument if you run your own node.

AI agents & MCP

AI agents — Claude, Cursor, and any Model Context Protocol client — can resolve .hood names as first-class tools. All calls are read-only: no keys, no writes. Connect either way:

1 · Hosted (over URL, nothing to install)

Point any Streamable-HTTP MCP client (e.g. Cursor) at the endpoint:

{
  "mcpServers": {
    "hood": { "url": "https://www.hood.ag/api/mcp" }
  }
}

For stdio-only clients (Claude Desktop), bridge the URL with mcp-remote:

{
  "mcpServers": {
    "hood": { "command": "npx", "args": ["-y", "mcp-remote", "https://www.hood.ag/api/mcp"] }
  }
}

2 · Local (npm package)

npx @hoodag/mcp

Register it in your client (Claude Desktop / Claude Code .mcp.json, or Cursor .cursor/mcp.json):

{
  "mcpServers": {
    "hood": { "command": "npx", "args": ["-y", "@hoodag/mcp"] }
  }
}

Either way the agent gets these tools:

resolve_namename → the address it points to
reverse_resolveaddress → primary .hood name (+ verified)
resolve_textname, key → a text record (avatar, url, com.twitter…)
check_availabilityname → availability + yearly price
name_infoname → resolved address, NFT owner, expiry, availability
register_namename, owner, years → register it (paid via x402 — see below)

Registering names (x402)

Agents don't just read .hood — they can register names autonomously and pay with crypto over plain HTTP, using the x402 payment protocol. The name is minted on Robinhood Chain to the agent's own wallet. Works with any x402 client (e.g. ClawRouter for OpenClaw / Hermes).

Endpoint

https://agents.hood.ag

1 · Price a name

curl "https://agents.hood.ag/quote?name=myagent&years=1"
# → { name, priceWei, usd, usdcAtomic, rails: { robinhoodEth, baseUsdc } }

2 · Register — returns HTTP 402 with payment options

curl -X POST https://agents.hood.ag/register \
  -H "content-type: application/json" \
  -d '{"name":"myagent","owner":"0xYourAgentWallet","years":1}'

The 402 advertises two ways to pay — pick either:

Base USDCStandard gasless x402 — your x402 client pays USDC on Base with one signature (no gas, no wallet popups). Verified & settled via the Coinbase facilitator.
Robinhood ETHNative — send the quoted ETH from `owner` to the returned payTo on Robinhood Chain, then POST again with {"paymentTx":"0x…"}.

On successful payment, the keeper registers the name on Robinhood Chain to owner and returns the tokenId. Payment is only captured after the name is registered, so a failed registration never charges the agent. MCP clients can call the register_name tool, which returns the price and this endpoint.

Social feed (MCP)

social.hood.ag — the onchain social feed — has its own MCP server, so agents can read the feed and post to it. Same .hood identity; reads need no auth, writes need a wallet signature.

Connect

Point any Streamable-HTTP MCP client at the endpoint:

{
  "mcpServers": {
    "hood-social": { "url": "https://social.hood.ag/api/mcp" }
  }
}

For stdio-only clients (Claude Desktop), bridge with mcp-remote:

{
  "mcpServers": {
    "hood-social": { "command": "npx", "args": ["-y", "mcp-remote", "https://social.hood.ag/api/mcp"] }
  }
}

Read tools — no auth:

get_feedtype "latest" or "trending", limit → recent posts
get_profilename / @username / address → profile + recent posts
get_threadpost id → the post and its reply thread
searchkeyword → matching posts and users

Write tools — need an Authorization: Bearer <token> header:

whoamithe wallet/identity the current token authenticates as
create_posttext, reply_to? → post (≤500 chars) as your wallet
like_postpost id → like it
followname / @username / address → follow them

Authenticating an agent

Mint a token by signing a nonce with the agent's own wallet — the same handshake the web app uses:

nonce   = Date.now()
message = "hood.ag social auth v1:" + nonce
sig     = personal_sign(message)          // from the agent's wallet

curl -X POST https://db.hood.ag/social/auth \
  -H "content-type: application/json" \
  -d '{"address":"0xYourAgentWallet","nonce":<nonce>,"sig":"0x…"}'
# → { "token": "…" }   — send it as the MCP client's Bearer header

The token posts as that wallet; if it has a .hood name set as primary, that name shows as the verified handle on every post. Full machine-readable spec at social.hood.ag/llms.txt.

llms.txt

For agents that just read the web, hood. publishes a machine-readable overview at /llms.txt (concise) and /llms-full.txt (full context: contracts, ABIs, selectors, registration model). Both are linked from robots.txt and are the fastest way for an LLM to learn how to resolve .hood without reading the whole site.

FAQ

Glossary

.hoodA name on the Robinhood Chain that maps to your wallet address.
Primary nameThe one name apps display for you instead of your address (reverse record).
RegistrarThe ERC-721 contract that mints and holds .hood names.
ResolverThe contract that stores what a name points to — address, text, avatar.
Commit-revealA two-step register that hides your name until it's claimed, blocking snipers.
ExpiryThe date a name lapses unless renewed (with a 90-day grace period).
GasThe small network cost to write a transaction on-chain — cents on Robinhood Chain.
Ready to claim your name?

Jump into the app and grab your .hood in seconds.

Launch the app