VERV Programmable Promise

Stage I · Proof of Promise · in development

Agreements that carry their own proof.

Programmable Promise turns an agreement into a signed, hash-linked record that every party checks for themselves and Bitcoin makes unique. People, companies, DAOs and AI agents can make commitments whose rules, evidence and consequences are machine-checkable.

You are on the list. We will write once, when there is something to run.

How it works · 01

Stage I

Five moves, and nobody has to be trusted.

A promise is a chain of signed transitions. Each one commits to the one before it, and the ones that matter are committed to Bitcoin by spending a seal that can only ever be spent once.

The promise — each transition commits to the one before it Genesis all parties 3/3 Claim promisor 1/1 Verify verifiers 2/3 Fulfilled all parties 3/3 anchor live Bitcoin — one seal spent per anchor, and a seal spends once 35 bytes each
Three of the four transitions are anchored. A spent seal cannot be spent again, so the same promise can never grow a second history.
  1. Step one

    Draft the whole agreement

    One party — the minter — writes the parties, the roles, the obligations, the milestones and their acceptance criteria, the documents, and where a dispute would go. Up to 10 parties and 50 roles. The contract is agreed as a whole, not clause by clause.

  2. Step two

    Everyone signs it

    Every party signs the genesis with their VERV ID key — unanimous, or there is no promise. Signing is asynchronous by default: each party reviews and signs through the VERV ID ceremony in their own browser, in their own time, and the promise is minted once the last signature lands.

    An agreement that wants everyone present at the same moment sets the optional Ceremony flag — policies.ceremony, off unless you turn it on — and the co-signing happens live instead. Only the minter installs software; everybody else needs a browser and a link.

  3. Step three

    Anchor it to Bitcoin

    The minter spends a seal UTXO in a transaction that commits to the transition hash. A seal can be spent once, so a promise can only ever have one history. This is the RGB mechanism — client-side validation, single-use seals, consignments — implemented natively. It is not an RGB asset.

  4. Step four

    Verify it anywhere

    The chain travels as a portable .pp file — transitions, signatures, the DID documents used, and the anchor proofs. Anyone holding it recomputes every hash and every signature themselves, offline. No server is trusted for validity.

  5. Step five

    Mediate if it goes wrong

    A dispute goes to mediation — VERV DAO by default, 50 USD-equivalent in stablecoin paid by the party filing it — and then, if that fails, to arbitration: Kleros v2, the private court KEBE, or a provider the parties name themselves. Every outcome is a signed attestation the chain verifies for itself.

What it does · 02

The primitive

The primitive, and nothing that is not the primitive.

Stage I ships the agreement, its evidence and its consequences. It never touches your money.

Client-side validation

Every participant validates the chain relevant to them, from the file in their hands. Nothing is taken on a server's word — not the signatures, not the ordering, not the state.

Bitcoin single-use seals

Each anchor spends the current seal and commits to the next transition, so no second history of the same promise can exist. The RGB mechanism, implemented natively — pp-core is shaped to become an RGB codex when that toolchain is usable again.

VERV ID, for humans and AI agents

Parties are did:verv subjects. People sign through a browser ceremony that shows them what they are signing, in their own time; AI agents sign with their own controller keys. Keys can rotate without invalidating what was signed before.

Mediation, then arbitration

VERV DAO mediates by default for 50 USD-equivalent in stablecoin — USDT on TON first — paid by whoever files. Escalation goes to Kleros v2, KEBE, or a custom provider whose key the parties put in the agreement themselves.

MCP and API first

One service layer sits behind the local JSON API, the MCP server and the interface. A feature does not exist until an agent can reach it over MCP with tests to prove it.

Portable .pp files

The chain, the signatures, the DID documents as they stood, the evidence hashes and the anchor proofs — one container you can hand to a counterparty, a mediator or an auditor, and they can check it without you.

Unanimity where it counts

Creating the promise, amending it, cancelling it and declaring it fulfilled take every party's signature. Everything in between runs on policies you write yourself — k-of-n verification, custom roles, a named party, or a provider's key.

Runs on your own machine

The full node keeps the promises, the keys and the wallet locally, and reaches other nodes peer-to-peer. Only the party who mints installs it; the rest need nothing but a browser and a link.

Open source, local-first

Apache-2.0, written in Rust, with the protocol documented as a normative specification — canonical form, envelopes, policies, consignment and anchor layout — so somebody else can build an implementation that agrees with ours.

Privacy · 03

35 bytes

Bitcoin learns 35 bytes. It learns nothing else.

Anchoring publishes a commitment, not a contract. What goes into the block is a three-byte tag and one hash — the same 35 bytes whether the promise is a handshake or a hundred-page facility agreement.

Everything that means anything stays in the consignment, and the consignment goes only to the people entitled to it. Parties get the chain, because a contract is agreed as a whole. A mediator or an arbitrator gets a disclosure bundle that the filing party exports deliberately — the registry stores only its hash.

What the chain stores public

OP_RETURN 50 50 31 8f3c9a04b1e77d25c60af9138b5ee4a027d1c8f36ba490e7715c2d0846fb39ca

A 3-byte tag "PP1" plus a 32-byte commitment. 35 bytes, and they mean nothing to anyone without the consignment.

What never leaves the parties private

  • Who — the parties, their DIDs, their declared legal identity
  • How much — amounts, currencies, payment rails, settlement proofs
  • What for — milestones, acceptance criteria, documents, evidence
  • What happened — disputes, mediation outcomes, arbitration rulings
  • That it exists at all — the commitment is opaque

Stages · 04

Roadmap

Prove the promise first. Move the money last.

Custody is the part that is easy to promise and hard to be trusted with, so it comes after the primitive is real and running.

  1. Iin development

    Proof of Promise

    The agreement, its evidence and its consequences — with no custody and no escrow.

    • Payment obligations and settlement proofs; money moves outside the protocol
    • Milestones verified by k-of-n signatures over Proof-of-Event evidence
    • Disputes: VERV DAO mediation, then Kleros v2 / KEBE / custom arbitration
    • Full node with Bitcoin anchoring, plus a web light client for everyone else
  2. IIplanned

    Rights and handover

    The promise starts carrying transferable things, and stops depending on one node.

    • Rights objects — contribution, payment and consent rights — and permissioned transfer
    • Seal and coordinator handover when the minter disappears
    • Promise composition, oracle and device verifiers
    • Cryptographic binding of legal identity; reputation events
  3. IIIplanned

    Money on the chain

    Value moves inside the promise instead of alongside it.

    • USDT escrow on RGB, held and released by the agreement's own rules
    • Further custody rails as they become real
    • A native RGB codex once that toolchain has a released contract compiler and a wallet

Ecosystem · 05

VERV

A VERV product, not an island.

Support the work · 06

Bitcoin

If this is worth building, it is worth funding.

The protocol is Apache-2.0 and the specification is public. There is no token, no sale, and no investor deck behind this — a protocol that has to sell you something before you can read it is a protocol asking to be trusted first.

If it is worth something

Nobody is being paid to write this. If the idea is worth something to you, the address below takes bitcoin, and it pays for the time that goes into Stage I.

Bitcoin, on-chain

bc1qfm3msz7vha9sthz6760zu80mu8ff92nz22k0x7

It buys nothing. Not a token, not equity, not a place on the waitlist, not a say in what gets built, and not a line of code you will not be able to clone for free under Apache-2.0 anyway. It is a thank-you, and that is all it is.

Sending from an exchange account

Most people's bitcoin sits inside an exchange, which holds the keys on their behalf. Open its withdrawal screen, paste the address, and choose the Bitcoin network itself — not a wrapped version of it running on some other chain, which would not arrive. The exchange sets its own fee and its own minimum. Once a withdrawal is confirmed, neither it nor we can call it back.

Sending from a wallet you hold the keys to

Paste the address, choose a fee you are willing to wait for, and send. Nothing here asks for your name, your email, or an account of any kind. The address is a single reused one, so anyone who cares to look can see everything that has ever arrived at it — including you.

Waitlist · 07

One email

Be there for the first promise.

Stage I is being built now. Leave an address and we will write once — when there is a node you can run and a promise you can mint.

You are on the list. We will write once, when there is something to run.

Your address, the time and your browser's user agent. Nothing else, no third party, no tracker, and no second email.

A promise nobody can quietly rewrite is a small thing to build and a large thing to have.