wget https://your-domain.com
--2026-05-01 10:42:31-- https://your-domain.com/
Resolving your-domain.com (your-domain.com)... 193.33.170.176
Connecting to your-domain.com|193.33.170.176|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1243 (1.2K) [text/html]
Saving to: 'index.html'
index.html 100%[=====>] 1.21K --.-KB/s in 0.02s
✓ Domain parked. AI-generated page served.
✓ Blockchain verification: ready
✓ Languages auto-detected: 12 available
Parking for people
who read /dev/stdin, not brochures.
One A-record. Zero signup. Public JSON API. Open protocol. AI-generated pages. Blockchain ownership proofs via Waves. Built for doménaires, DevOps, and script kiddies alike.
[OK] service operational ·
… domains parked ·
… total hits ·
uptime: 99.% ·
ping avg: 42ms
Quickstart
1. Park any domain
# In your registrar's DNS panel: A @ 193.33.170.176 A www 193.33.170.176 # That's it. Verify after 5–60 min: $ dig +short your-domain.com 193.33.170.176 $ curl -I https://your-domain.com/ HTTP/2 200 server: Caddy content-type: text/html; charset=utf-8
2. (Optional) Prove ownership via DNS TXT
# Signals your Waves wallet as domain owner TXT _dp "dp=3PYourWavesAddress" # Verify: $ dig TXT _dp.your-domain.com +short "dp=3P95dfoJHC6dP6GaeCYGEMRYg7o4UAXE1w6"
3. (Optional) Publish contacts via blockchain tx
# Send 1000 DURCOIN from your wallet to system address # with attachment: DP:@yourhandle $ curl -X POST https://nodes.wavesnodes.com/transactions/broadcast \ -H "Content-Type: application/json" \ -d '{ "type": 4, "assetId": "FH1HoALyCDnvMbMxZcvWEVdtPXTY9BL9nbHnzSyjRLTt8", "recipient": "3P95dfoJHC6dP6GaeCYGEMRYg7o4UAXE1w6", "amount": 100000, "attachment": "DP:@yourhandle" }' # Easier: use Keeper Wallet browser extension # https://keeper-wallet.app/
Public JSON API
No auth. No tokens. No rate limiting beyond 120 req/min per IP. CORS open. Available on every parked domain.
GET/api/health
Service health + cache size
$ curl -s https://any-parked-domain/api/health | jq { "ok": true, "cached": 798, "model": "openai/gpt-4o-mini" }
GET/api/domains
List all parked domains. Params:
sort=popular|new|name, random=1, limit=N$ curl -s "/api/domains?sort=popular&limit=3" | jq { "ok": true, "count": 3, "domains": [ { "domain": "djdurcoin.ru", "unicode": "djdurcoin.ru", "hits": 1247, "first_seen": 1746033600000, "last_activity": 1746120000000, "langs": ["en", "ru"] }, ... ] }
GET/api/domain-meta?domain=X
Resolved Web3 owner info for domain X (24h cache). Returns wallet + verified contacts.
$ curl -s "/api/domain-meta?domain=djdurcoin.ru" | jq { "ok": true, "domain": "djdurcoin.ru", "wallet": "3P95dfoJHC6dP6GaeCYGEMRYg7o4UAXE1w6", "meta": { "telegram": "@durcoin", "price": "negotiable", "_lastUpdate": 1746000000000 }, "cached": true }
GET/api/generate?domain=X&lang=ru
Trigger AI generation for domain X in language L (auto-cached). 12 languages supported.
$ curl -s "/api/generate?domain=your-dom.com&lang=en" | jq { "tagline": "Where whispers travel through wires...", "poem": "In bytes it breathes...\n...", "forecast": "Tomorrow a traveller...", "advice": "...", "horoscope": "...", "quote": "...", "dream": "..." }
The DP Protocol
Domain Parking ownership is proven via two signals:
- DNS TXT at
_dp.<domain>containingdp=<WavesAddress> - Blockchain transaction from that address with
DP-*attachment
Attachment reference
| Attachment | Effect | Example |
|---|---|---|
DP:@handle | Telegram | DP:@durcoin |
DP-TG:@handle | Telegram (alt) | DP-TG:@durcoin |
DP-EMAIL:addr | DP-EMAIL:me@mail.ru | |
DP-URL:url | Website link | DP-URL:https://me.com |
DP-NAME:str | Display name (≤60) | DP-NAME:John Doe |
DP-PRICE:str | Asking price | DP-PRICE:500USDT |
DP-BIO:str | Short bio (≤140) | DP-BIO:Domainer since 2015 |
DP-CLEAR | Reset all fields | DP-CLEAR |
Rules:
- Each tx = one attribute. Later txs overwrite earlier ones.
- Minimum tx amount:
1000 DURCOIN(anti-spam). - Cache TTL on server:
24h. Force refresh via?refresh=1. - Target address:
3P95dfoJHC6dP6GaeCYGEMRYg7o4UAXE1w6 - Asset ID:
FH1HoALyCDnvMbMxZcvWEVdtPXTY9BL9nbHnzSyjRLTt8(DURCOIN)
Recipes
Monitor your parked portfolio
#!/bin/bash # check hits on all my domains MY_DOMAINS="djdurcoin.ru domain1.ru domain2.com" for d in $MY_DOMAINS; do hits=$(curl -s "https://$d/api/domains" | \ jq -r ".domains[] | select(.domain==\"$d\") | .hits") echo "$d: ${hits:-0} hits" done
Bulk park 100 domains
# All domains share the same IP, no per-domain setup needed. # Just batch-update DNS via your registrar's API. # Example: Cloudflare for domain in $(cat domains.txt); do curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE/dns_records" \ -H "Authorization: Bearer $CF_TOKEN" \ -H "Content-Type: application/json" \ --data '{"type":"A","name":"@","content":"193.33.170.176","proxied":false}' done
Fetch owner contacts programmatically
async function getOwner(domain) { const r = await fetch(`https://${domain}/api/domain-meta?domain=${domain}`); const { wallet, meta } = await r.json(); return meta.telegram ? `https://t.me/${meta.telegram.replace('@','')}` : null; } // usage: getOwner('djdurcoin.ru').then(console.log); // → "https://t.me/durcoin"
Live catalog
Latest 15 parked domains (random sample):
fetching…
Related landings
Same service, different vibes. All accessible from every parked domain.
Meta
Architecture: open protocol, replicated across every parked domain.
Built by: @durcoin, creator of DURCOIN (Waves asset).
Status: production. curl /api/health on any parked domain.