# How Redeal works — commit, reveal, compute, certify

Redeal is a neutral referee for splitting things. The whole system is one
promise kept by mathematics: nobody can see your input before everyone's is
locked in, and nobody can change the outcome after, including Redeal.

## The four steps

1. **COMMIT — everyone seals their input.** Each party sends a hash of their
   input: the input and a random salt, run through SHA-256. The server stores
   fingerprints, not values. Nobody can wait to see others before deciding
   their own.
2. **REVEAL — everyone opens at once.** Once every commitment is in, each
   party sends their actual input and salt; the server checks them against
   the stored hashes. A mismatched input is rejected. The hash pins you to
   your first answer.
3. **COMPUTE — a published algorithm runs.** The engine executes the chosen
   algorithm exactly as its public spec describes: integer arithmetic only,
   no floating point, no external data, no randomness Redeal controls. Same
   inputs, same output, so anyone can re-run it.
4. **CERTIFY — everyone gets the same receipt.** Each party receives an
   identical certificate: the algorithm, the result, the timing, a fingerprint
   of the inputs, and our signature. The certificate is also appended
   to a public transparency log, and any skeptic can verify it without asking.

## A worked example

Ada and Ben delivered a £1,000 job together and need to split the fee. Ada
creates a deal on Redeal; Ben joins through his private link. Both state
privately what each part of the work is worth to them — Ada values the
client-calls portion higher — and split.v1 (adjusted winner) assigns that
portion to Ada and compensates Ben in the cash share: Ada £612.50, Ben
£387.50. The certificate shows the split, the algorithm, and the proof; it
does not show either party's private valuations.

## What Redeal attests

Agreement, not truth. Redeal never holds money, never takes a side, and
cannot change an outcome. Certificates describe a computation, not a ruling.

## Deal states

OPEN → COMMITTING → REVEALING → CERTIFIED, with EXPIRED (commit deadline
missed, nothing recorded) and VOID (reveal deadline missed; a
non-participation certificate names the flaker) as the griefing paths.

Try a real split: https://redeal.dev/split
