Protocol v1

What DealSeal actually verifies.

The protocol is deliberately narrow: canonicalize one claim, authenticate its source, and issue portable evidence with explicit limitations.

1. Canonical tuple

Each ceremony party receives deterministic JSON covering the room, numeric X identities, purpose, terms hash, wallet address, origin, nonce, expiry and binding scope. Keys are sorted recursively and unsafe numbers are rejected.

2. Authenticated X event

The bot decrypts an X Chat event with the official X Chat SDK, requires a valid event signature and verified identity-to-signing-key binding, and checks the decrypted bytes exactly against the prepared tuple. A DealSeal receipt is a service attestation to that verification; it is not a public proof of encrypted plaintext.

3. Wallet signature

The listed Solana address signs the identical UTF-8 bytes with an offchain message signature. No transaction is broadcast by the ceremony.

4. Receipt and continuity

DealSeal signs the receipt with Ed25519. Opted-in continuity records commit complete daily account leaves into a domain-separated Merkle tree, then anchor the root through OpenTimestamps and an optional Solana memo.

5. Public records and positions

A public record fixes one deterministic statement, numeric X author, deadline and resolver before the outcome. A timeline position signs the source post, side, optional confidence and version. X poll votes remain anonymous aggregate sentiment; only an explicit YES or NO post creates an attributable DealSeal position. A wallet link on file did not sign that position.

6. Thread invitations

SEAL THIS reads one public parent post and proposes an exact rule beneath it. The person who requested sealing cannot accept on someone else's behalf: only the parent post's numeric X author can confirm. An unanswered invitation expires and its unconfirmed source data is removed.

Attestation key

Every DealSeal signature is made with one Ed25519 key. Verifying a receipt means checking the canonical payload hash and signature and confirming the key below issued it — a self-consistent receipt signed by any other key is not a DealSeal receipt. The same values are served at /api/health.

Public key 6pYrpqoYhftnRrsvE5fLrm9B3eR9ficoi3L3-OJVa5U
Fingerprint (SHA-256) a76cbf107c44b5f199f3c737663df4425bc0199c6de17b6c55420d4dedbe054d

Privacy boundary

Observatory pages are opt-in. Public record and position pages exist only after an X account explicitly confirms or addresses DealSeal. The system does not silently create profiles from arbitrary X posts.