alphaoc · chat
bip-322 identity · e2ee
oc · chat·v0 · alpha·a mode of oc lock

no phone. no account.
your bitcoin address is your inbox.

oc chat is end-to-end-encrypted messaging where your wallet is the only identity. Sign in once with BIP-322; anyone who can verify a signed message from you can already reach you. Messages are sealed to a key only your device holds and gift-wrapped over Nostr, so relays learn nothing. Strangers attach Lightning postage to land in your inbox — you earn the sats, we never touch them — and you can seal a message to open only at a future Bitcoin block height. We are honest about where trust lives.

· no servers hold plaintext· x25519 + aes-256-gcm· bip-322 identity· nostr gift-wrap
message.chat · { "kind": "chat" }
{
  "v": 1,
  "kind": "chat",
  "id": "b71e0c4a…9f12",
  "from":   { "address": "bc1qalice…", "alg": "bip322" },
  "to":     [ { "address": "bc1qbob…" } ],
  "alg":    "x25519+aes-256-gcm",
  "ciphertext": "…",            // body + conversation_id + seq
  "postage": null,              // ← pay-to-reach attaches a preimage here
  "seal":    null,              // ← seal-til-block sets { unlock_block, beacon }
  "created_at": "2026-06-05T18:30:00Z",
  "sig": { "alg": "bip322", "value": "…" }
}

// transport (what the relay sees): NIP-59 gift-wrap, kind-1059,
// ephemeral key, created_at minute-rounded. not who. not when. not what.
§ three modes

three send modes. one Bitcoin-unique property each.

oc chat is a mode of oc lock. The crypto is oc-lock's seal/unseal; the transport is Nostr gift-wrap. Everything new is one of these three modes — each adds exactly one thing only Bitcoin can carry.

  1. [01]

    speak-now

    Free, daily, 1:1 end-to-end-encrypted messaging to any Bitcoin address. Threading lives inside the encrypted payload; relays only ever see a gift-wrap.

    ↳ bitcoin-unique: BIP-322 identity + Bitcoin-address discovery — no phone, no npub you can't prove you own.

  2. [02]

    pay-to-reach

    A stranger attaches Lightning postage — a real preimage paying your invoice — to land in your inbox. No valid postage, no inbox. You earn the sats; we never touch them.

    ↳ bitcoin-unique: A settled-sats bearer proof: sha256(preimage) == payment_hash, verified offline. Sats as signal — attention priced, not filtered.

  3. [03]

    seal-til-block

    A message whose content key is escrowed to a named beacon and released only after the Bitcoin chain passes block N. Embargo, future-delivery, dead-man's-switch.

    ↳ bitcoin-unique: The block-height release predicate. Beacon-enforced, not consensus-enforced — the beacon is a named trust anchor, and we never call v0 "trustless".

Honest about the trade-offs: v0 cedes Signal-grade per-message forward secrecy (a compromised device key reads past messages; coarse 90-day key rotation only). If your threat model needs a double ratchet today, use Signal. We name every trust anchor and ship the spec before the UI.

§ layered with orangecheck + oc lock

not a new verb. a mode of oc lock.

oc chat reuses oc lock's battle-tested crypto and the family BIP-322 identity rather than rebuilding them. It is MIT-licensed and vendor-free; the spec and test vectors are the ground truth, and the web client is a convenience over the SDK — never the authoritative implementation. Switch skin and account from the logo dropdown in the header; your identity follows you across every .ochk.io subdomain.

§ open your inbox

your address is your inbox.
your wallet is your password.
the chain is your clock.

No phone. No account. No custody. Sign in once with BIP-322 and your Bitcoin address becomes a self-sovereign inbox. We are honest about the trade-offs: v0 cedes Signal-grade per-message forward secrecy until our ratchet ships.

with thanks to bram kanstein — whose work on bitcoin as sovereignty substrate shaped the premise.