ÐLocker — product orientation (not a metaprotocol)
Product name: ÐLocker (spoken “DLocker”; Ð = Dogecoin/Dogenals typography)
Surface: dogenals.com DeFi tools (web-com) + @dojak/web
Status: Product draft · greenfield
ÐLocker is the storefront product for locking native DOGE and inscriptions away on Dogecoin L1 until a chosen time. It is not a new p: metaprotocol and MUST NOT mint a competing marker such as Ð:LOCKER.
Taxonomy (MUST keep clear)
| Name | Kind | What it does | Custody? |
|---|---|---|---|
| ÐLocker | Product (UI / wallet flows) | User-facing lock / unlock / my-locks / proof / ranks | Yes — via L1 script |
| CLTV P2SH time lock | Consensus primitive (BIP65) | Redeem script: <locktime> OP_CHECKLOCKTIMEVERIFY … wrapped P2SH; spend only after Unix locktime | Yes — coins sit in script UTXOs |
ÐLock (p: "dlock" / Ð:LOCK) | Metaprotocol | Voluntary conviction declarations for governance multipliers | No — does not move assets |
ÐSeals (transfer_lock / soulbound) | Metaprotocol | Indexer policy on inscriptions (canonical ownership / ÐMP) | Soft — not consensus freeze |
| ÐVow | Metaprotocol | Textual commitments | No |
Rule of thumb: if users need “my DOGE/inscription cannot move until date X even if this site dies,” that is CLTV (ÐLocker product). If they need “governance weight for sticking around,” that is ÐLock inscription (optional second step).
Inspiration vs Dogecoin design
Solana reference — ansem.locker
Portable product ideas (keep):
- Conviction lock as social proof (amount × time)
- Fixed cliff, no early exit messaging
- Share → verify → public list / ranks flywheel
- Non-custodial trust narrative + explorer links
- My locks + claim-ready countdown UX
Solana-specific (do not copy 1:1): Jupiter Lock PDAs, Token-2022 ATAs, SOL rent, getProgramAccounts.
Existing Dogecoin work — dojakweb-demo + @dojak/web
Already implements the right L1 mechanism:
dojak/packages/dojakweb/src/lib/cltv-tools.ts— BIP65 CLTV P2SH via PSBT- Demo routes:
/dogenal-locker,/soft-staking,/lock-proof - Lock DOGE or inscription UTXOs (ordinals-safe output-0 value preserve)
ÐLocker on dogenals.com SHOULD reuse and harden that stack (export from @dojak/web), not invent OP_RETURN “fake locks.”
Recommended product shape on web-com
Nav: DeFi → ÐLocker (alongside Swap / Pools / Portfolio)
Route sketch: /lock (tabs)
| Tab | Job |
|---|---|
| Lock inscription | Pick inscription UTXO → CLTV P2SH → sign PSBT → broadcast → register |
| Lock DOGE | Amount + unlock time → same script path → register |
| My locks | command.dog + local redeem cache; unlock when ripe |
| Leaderboard | Public ranks from command.dog (amount × days) |
| Proof | Shareable verify URL |
Optional compose (Phase 1.5): after CLTV broadcast, offer to inscribe a ÐLock lock declaration (and later a ÐSeals soulbound trophy) so ÐogenalÐAO / ÐRep can score conviction. UI MUST label both steps distinctly.
Do not port yet as ÐLocker MVP: Wallet Lab, quantum demo, soft-staking APR fiction.
Indexer / backend roles
| Concern | Owner |
|---|---|
| Script validity / spendability | Dogecoin Core consensus |
Wallet PSBT build/sign + CLTV OP_RETURN announce | @dojak/web (cltv-tools) |
| Product UI | dogenals/web-com |
| Optional ÐLock / ÐSeals state | dogex (index truth) |
| CLTV lock discovery + leaderboard | dogex /api/dlocker/* — chain truth for any dApp |
How dogex discovers locks (any dApp)
P2SH outputs alone do not reveal the redeem script until spend. dogex indexes CLTV-P2PKH locks when:
- Same-tx OP_RETURN announce (recommended): payload
CLTV(ASCII) ‖locktimeu32 LE ‖ 20-byte pubkey hash — or a full redeem-script dump matching the template. Matched to P2SH outputs in the same transaction. - Spend reveal: when a P2SH input unlocks with the canonical redeem, the lock is recorded (as unlocked if new).
POST /api/dlocker/register: client submitsredeemScriptHex+ outpoint; dogex verifies hash match.
Score = amountKoinu × max(daysRemaining, 1) (same shape as ansem.locker).
command.dog MAY keep a product cache, but leaderboard truth is dogex. Custody remains the on-chain script even if indexing lags.
Normative language for builders
- Specs MAY refer to ÐLocker as the product that performs CLTV locks and MAY compose ÐLock/ÐSeals.
- Specs MUST NOT claim ÐLock custodies DOGE or inscriptions.
- Specs MUST NOT introduce
p: "Ð:LOCKER"unless a future vault metaprotocol needs new indexer state that CLTV + ÐLock cannot express; even then, keep ÐLocker as the UI brand (same pattern as Swap UI vsÐ:SWAP).
Related
- ÐLock protocol — conviction declarations
- ÐSeals — soulbound / transfer_lock receipts
- ÐLend — Phase 2 lending (distinct from generic ÐLocker)
- CORE_SUITE.md — Era 2 suite map
- Implementation seed:
dojak/packages/dojakweb/src/lib/cltv-tools.ts· demo UI indojakweb-demo