dogecoinnames.com · p:dns
Names & registrars
On-chain Dogecoin names at dogecoinnames.com: p:dns envelope, registrar tags (dogesoft.io, dogefeed.app), 5-minute soft holds, Pay/URL records, marketplace and public API.
registrar.dogesoft.io is the public Doge Soft Names
surface: search endings, register on Dogecoin, manage Pay/URL records, and browse the peer-to-peer market.
Names are original Doginals p:dns inscriptions held in the buyer's wallet.
Approved registrar tags share one index. dogesoft.io is the
finished example. dogefeed.app is active and set up on the same body.
Overview
A name like dogesoft.doge is a text inscription on Dogecoin. Whoever holds
the inscription owns the name. There are no accounts, no renewals and no expiry. The chain is the authority:
the Names index reads every valid p:dns claim, and anyone can rebuild the
same list from public chain data.
- The first valid
regfor a name wins, ordered by block height then position in the block. Later claims are ignored. - Ownership follows the inscription. Holders are re-checked against the unspent coin set before any sale or record update.
- Doge Soft never holds names, keys or coins for you.
- Explorer search surfaces Names alongside collections and coins (dns-face previews + registrar labels).
Registrar network
Every registration body can carry a registrar tag. The shared index
recognizes approved tags and shows them on name pages. As of the live
GET /api/config response:
| Tag | Role |
|---|---|
dogesoft.io | Doge Soft Names checkout at dogecoinnames.com. Always written by Soft registration flows. |
dogefeed.app | Active. Same inscription, with registrar set to dogefeed.app and sig from the dogefeed.app key. Registers in its own product; same endings index and shared soft holds. |
Tags are a label on the inscription, not a separate chain. Names from either registrar (and self-registered
names without a recognized tag) resolve through the same public APIs. Live list:
approvedRegistrars on GET /api/config.
Soft holds (5 minutes)
Before checkout, a registrar can place an off-chain hold so the same
name is not sold twice while a cart is open. Holds stay inside the Doge Soft names service. They never go on Dogecoin.
Default duration is holdMinutes: 5.
GET /api/checkreturnsstatus: "reserved"when a hold is active. It does not say who holds it.GET /api/holdsis not public. A registrar reads only its own hold times with its hold token (Authorization: Bearer).- Placing or releasing a hold uses that same registrar token, or a wallet session for the names site itself.
- Chain still decides ownership: the first valid on-chain
regwins even if a hold was active.
Endings and fees
| Ending | 4+ characters | 1–3 characters (× shortMult) |
|---|---|---|
.doge (flagship) | 69 DOGE | 690 DOGE |
.dogecoin | 42 DOGE | 420 DOGE |
.doginals | 42 DOGE | 420 DOGE |
.soft | 6.9 DOGE | 69 DOGE |
.𝕏Ð | 6.9 DOGE | 69 DOGE |
.dogefeed | 6.9 DOGE | 69 DOGE |
One payment, once, plus the network fee. Live values always come from
GET /api/config (tiers,
shortMult). Labels for new names use a–z, 0–9 and hyphens, 1–63 characters,
with no hyphen at the start or end. Other endings may be indexed and shown but not offered for sale.
Envelope format
Registrations use the original Doginals name format. Full spec:
Inscription standard · Names (p:dns).
The operation for a domain is reg. This is the finished
dogesoft.doge inscription, and the standard for every signed registration.
Key order is p, op, sig, name, registrar:
{"p":"dns","op":"reg","sig":"mFiLnFlOROLHqge1nwmrMCe/fpZ0c1qTlcvjIYGIPZJZJB1QaOYw44u4AQX9M4tKbsSYkm5lPjOv5b89NWfPAQ==","name":"dogesoft.doge","registrar":"dogesoft.io"}
It rides in the standard positional Doginals envelope with no ACTION push, the same layout as DRC-20:
"ord" OP_1 <text/plain;charset=utf8> OP_0 <body>
Soft registration builds this through the inscriber's registrar mode (wallet-signed commit + reveal).
Outside builders use Origin requestInscription. The P2SH is locked to the
buyer's public key; the reveal sends the 0.001 DOGE inscription carrier to the buyer.
Pay and URL
Pay and URL are not written into the inscription. The holder of the name coin signs a Dogecoin message, and the registrar stores that signature with the address and the website. Every registrar that checks the same signature against the same name coin serves the same delivery.
dogesoft-dns-delivery-v1
name=dogesoft.doge
pay=D…
url=https://dogesoft.io/
holder=D…
An empty side is a single -. The wallet signs that text with
signMessage. Signing does not move coins and does not inscribe.
Manage flow: connect the holding wallet → /manage/<name> → edit →
the server live-checks https:// → the wallet signs the message above.
GET /api/resolve/:name answers one question.
kind is url, pay, or none.
value is the website or the Dogecoin address for that one side.
address is the signed pay address while that holder still has the coin, otherwise the coin holder.
A sale moves the name coin. The seller's signature stops counting. The buyer signs a new message to set their own Pay or URL.
Use it in a build
Name Delivery is a paid Origin plug (10 DOGE, once). A build asks the name which side is active, then acts on that one value. Managing uses the same two calls: prepare the message, then store the holder's signature. Pay and URL are never both set.
const spot = await ask('invite.doge');
if (spot.kind === 'url') location.assign(spot.value); // open the invite
if (spot.kind === 'pay') sendDoge(spot.value); // pay the inviter
An invite program is the straightforward use: the person grabs a .doge in the app.
If they set a URL, the invite opens that site. If they set Pay, the invite pays that address.
The full ask and manage calls are on the plug page, and the build
Invite with a .doge name stacks them with login.
Self-registered names
Every valid name counts. Names inscribed before Soft, or without a recognized registrar tag, appear as self-registered and remain fully valid. Anyone running a node can inscribe the same body and pay only network fees. Older names with emoji or special characters stay valid but carry a lookalike warning.
Marketplace
Resale is peer to peer and non-custodial. The seller signs only the name coin input and their payout output
with SIGHASH_SINGLE|ANYONECANPAY (0x83). The buyer completes the purchase
in one broadcast that pays the seller, delivers the name and pays a 1% marketplace fee
(minimum 0.001 DOGE). If the seller moves the name first, the listing stops working. Offers, watchlists and
auctions are off-chain coordination; settlement always goes through a signed listing.
After the name coin moves, the buyer's wallet is the one that can sign a new Pay/URL delivery.
API endpoints
Base URL: https://registrar.dogesoft.io.
dogecoinnames.com redirects there. Write endpoints need a wallet session from
POST /api/auth/challenge and /api/auth/verify
(sign-in never moves coins), or a registrar hold token on hold routes.
| Endpoint | What it does |
|---|---|
GET /api/config | Live flags, holdMinutes, endings, tiers, short multiplier, marketplace fee, fee address, approvedRegistrars. |
GET /api/check?q= | Availability and price across endings (or one full name). Up to 50 names. Status includes available, taken, reserved. |
GET /api/holds | Registrar hold token only. That registrar's own hold times. No public list, no wallet addresses. |
GET /api/hold/:name | One hold; with auth, hold.mine when it is yours. |
POST /api/hold | Place or refresh a hold (auth). Body: name or names[]. |
GET /api/name/:name | Full record: winner, registrar, holder, records, claims, listings, offers, sales, Origin links. |
GET /api/resolve/:name | kind is url, pay, or none. value is that one side. address falls back to the coin holder when Pay is not set. |
POST /api/delivery/prepare · /api/delivery | Holder session. Prepare the delivery message, then store it with the Dogecoin message signature. Does not inscribe. |
GET /api/address/:address/names | Names registered by or held at an address. |
GET /api/recent | Recently registered names on offered endings. |
GET /api/stats | Indexed names and claims, by ending. |
GET /api/market · /api/market/browse | Listings and browse (ending, q, sort, pagination). |
POST /api/quote | Price and inscription bodies for a cart. |
POST /api/market/template · /list · /buy · /confirm | Non-custodial list / buy / confirm (marketplace live). |
CORS. Browser reads from explorer.dogesoft.io,
diggydoge.com and dogesoft.io are allowed
on public GETs. Prefer server-side calls for write paths and hold tokens.