Dozelatch

Docs

How Dozelatch works

Dozelatch is a weekend latch for your wallet on Robinhood Chain (chain id 4663). You lock ETH or a Robinhood stock token in the contract until the next Monday US market open, 09:30 New York. The contract computes that time itself. There is no admin, no fee, no pause and no upgrade.

Markets are closed. So is your wallet.

Use it

  1. Open dozelatch.xyz and connect an EVM wallet. The site asks your wallet to switch to (or add) Robinhood Chain.
  2. Pick an asset: ETH or one of the listed stock tokens (NVDA, TSLA, SPY, AAPL, SPCX, MSTR).
  3. Enter an amount and choose how many Monday opens to wait (1–52).
  4. Check the exact unlock time the panel shows (UTC and New York) and how far away it is.
  5. Press Latch. For a stock token your wallet first asks for an approval of exactly that amount, then the latch itself.
  6. Your latch appears under My latches with a live countdown.

The unlock time

What you can do with a latch

Snooze
Owner only. Pushes the unlock one more Monday open (from the later of now and the current unlock). Cannot go further than 52 opens from now.
Release
Owner only, once the unlock time has passed. Sends the full latched amount back to you.
Release to another address
Owner only, once due. For when your own address cannot receive the asset (for example it cannot receive ETH, or a token issuer blocked it). Not to the zero address or the contract itself.
Take what is left
Owner only, once due, stock tokens only. See “Issuer-controlled tokens” below.
Wake early
Owner only, before the unlock. Burns a fixed amount of $DOZE (sent to 0x…dEaD) and releases now. Burn amount: …. $DOZE in the contract: ….

Limits (read these)

Issuer-controlled tokens

Robinhood stock tokens are controlled by their issuer: they are upgradeable and the issuer can pause transfers, block addresses and burn balances. Dozelatch cannot override that.

Safety

Contract functions

latchETH(uint8 weeks) payable
latchToken(address asset, uint256 amount, uint8 weeks)   // approve first
snooze(uint256 id)                                       // owner
release(uint256 id)                                      // owner, after unlock
releaseTo(uint256 id, address to)                        // owner, after unlock
releaseShort(uint256 id, address to)                     // owner, after unlock, takes what is left
wakeEarly(uint256 id)                                    // owner, burns wakeBurn() $DOZE
getLatch(id) → (owner, unlockAt, open, asset, amount)
latchesOf(address) · latchCount() · activeLatches() · totalLatched(asset)
nextOpen(t) · nextOpenAfter(t, weeks) · token() · wakeBurn()