landgrab
landgrab
Section titled “landgrab”Scan — and, with explicit gates, register — an entity name across the surfaces that matter for a venture/brand/token launch:
| Surface | Scan | Auto-register |
|---|---|---|
| Domains (RDAP + DoH, any TLD) | ✅ reliable | ✅ gated (Namecheap; sandbox by default) |
ENS .eth | ✅ (ownership) | ✋ runbook (needs wallet — never auto-signed) |
| Token ticker (CoinGecko) | ✅ collision check | — (claimed at deploy) |
| GitHub org/user | ✅ reliable | ✋ free, manual link |
| npm / PyPI / crates | ✅ reliable | ✋ free, manual |
| Reddit / Bluesky | ✅ reliable APIs | ✋ manual |
| X / Telegram / Instagram / TikTok / Discord | ✋ not auto-checkable | ✋ manual (CAPTCHA/SPA) |
Built for the OPEN PANEL $LONGBOX land-grab; reusable for any name.
Safety model (the whole point)
Section titled “Safety model (the whole point)”landgrab automates outward, often irreversible, sometimes paid actions, so it is
scan-first, register-gated by design:
scanis read-only. It never registers anything.registeris dry-run by default. A real call needs--yesand credentials in the environment. Money-spending (live) calls additionally needLANDGRAB_LIVE=1— otherwise the Namecheap sandbox is used so you can rehearse.- Secrets come from
os.environonly — never a file, never logged. - No wallet keys are ever handled. ENS and social registration are runbook-only.
- Honest by construction: surfaces that can’t be cleared (X/Telegram/…) are reported
MANUAL, never guessed.
cd tools/landgrab
# read-only scan (no install needed — stdlib only)python -m landgrab scan longboxpython -m landgrab scan longbox --surfaces domains,ens,tokenpython -m landgrab scan longbox --json longbox.json
# claim runbook (markdown) for everything still freepython -m landgrab plan longbox
# registration — DRY-RUN (prints exactly what it would do)python -m landgrab register longbox --surface domains# ...for real, into the Namecheap SANDBOX:NAMECHEAP_API_USER=… NAMECHEAP_API_KEY=… NAMECHEAP_USERNAME=… NAMECHEAP_CLIENT_IP=… \ python -m landgrab register longbox --surface domains --yes# ...live spend (deliberate): add LANDGRAB_LIVE=1Optional install for a landgrab console command: pip install -e .
Extending
Section titled “Extending”Add a surface: subclass landgrab.core.Provider, implement scan(), register it in
landgrab/providers/__init__.py. Add an auto-registrar: follow the gated pattern in
landgrab/registrars.py (dry-run default, env creds, no secret logging).