Ð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)

NameKindWhat it doesCustody?
ÐLockerProduct (UI / wallet flows)User-facing lock / unlock / my-locks / proof / ranksYes — via L1 script
CLTV P2SH time lockConsensus primitive (BIP65)Redeem script: <locktime> OP_CHECKLOCKTIMEVERIFY … wrapped P2SH; spend only after Unix locktimeYes — coins sit in script UTXOs
ÐLock (p: "dlock" / Ð:LOCK)MetaprotocolVoluntary conviction declarations for governance multipliersNo — does not move assets
ÐSeals (transfer_lock / soulbound)MetaprotocolIndexer policy on inscriptions (canonical ownership / ÐMP)Soft — not consensus freeze
ÐVowMetaprotocolTextual commitmentsNo

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.”


Nav: DeFi → ÐLocker (alongside Swap / Pools / Portfolio)

Route sketch: /lock (tabs)

TabJob
Lock inscriptionPick inscription UTXO → CLTV P2SH → sign PSBT → broadcast → register
Lock DOGEAmount + unlock time → same script path → register
My lockscommand.dog + local redeem cache; unlock when ripe
LeaderboardPublic ranks from command.dog (amount × days)
ProofShareable 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

ConcernOwner
Script validity / spendabilityDogecoin Core consensus
Wallet PSBT build/sign + CLTV OP_RETURN announce@dojak/web (cltv-tools)
Product UIdogenals/web-com
Optional ÐLock / ÐSeals statedogex (index truth)
CLTV lock discovery + leaderboarddogex /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:

  1. Same-tx OP_RETURN announce (recommended): payload CLTV (ASCII) ‖ locktime u32 LE ‖ 20-byte pubkey hash — or a full redeem-script dump matching the template. Matched to P2SH outputs in the same transaction.
  2. Spend reveal: when a P2SH input unlocks with the canonical redeem, the lock is recorded (as unlocked if new).
  3. POST /api/dlocker/register: client submits redeemScriptHex + 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).

  • Ð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 in dojakweb-demo