A Claude skill for AllDomains — Web3 domain registration on Solana, Eclipse, SOON, and Sonic.
The skill itself lives in SKILL.md plus the references/ and scripts/
folders; everything else here is so the scripts can also be run by humans.
npm installcheck and tlds work without install — they only hit the public HTTP API.
node --import tsx scripts/check.ts pumpkin.bonk
node --import tsx scripts/owner.ts miester.poor
node --import tsx scripts/analyze.ts saga.skr
node --import tsx scripts/holdings.ts <WALLET_PUBKEY> --tld .skr
node --import tsx scripts/main-domain.ts <WALLET_PUBKEY>
node --import tsx scripts/main-domain.ts --batch <PUBKEY1> <PUBKEY2> ...
node --import tsx scripts/stats.ts .letsbonk
node --import tsx scripts/stats.ts .skr --on-chain # Saga / mobile-only TLD
node --import tsx scripts/list-tlds.ts solana
# Two-step register (standard TLDs): build on a machine without keys, sign on
# one with keys.
node --import tsx scripts/register.ts build pumpkin.bonk <BUYER_PUBKEY> 1 --out tx.json
node --import tsx scripts/register.ts send tx.json ~/.config/solana/id.json
# Co-signer TLDs (.letsbonk .fair .jpeg .slam .solana .superteam .syndicate)
node --import tsx scripts/register-cosigner.ts build pumpkin.solana <BUYER_PUBKEY>
node --import tsx scripts/register-cosigner.ts send tx.json ~/.config/solana/id.jsonAll scripts emit JSON to stdout. Errors go to stderr as JSON with a non-zero exit code.
SKILL.md tight overview, when-to-use, hard constraints
references/
api.md every HTTP endpoint
tlds.md TLD catalog, payment tokens, special cases
chains.md Solana / Eclipse / SOON / Sonic RPCs
transactions.md decoding ixs, LUTs, simulation, signing
cosigner.md co-signer endpoints, per-TLD claim rules
scripts/
check.ts availability
owner.ts current owner
list-tlds.ts TLD enumeration
register.ts build + send for standard TLDs
register-cosigner.ts build + send for co-signer TLDs
lib.ts shared helpers
/api/create-domain returns unsigned instructions. The skill keeps signing
out of the build path so:
- the same flow works with hardware wallets, backend signers, or local keypairs, and
- the machine that talks to the AllDomains API never needs to see a key.