Skip to content

The Deal Flow

Click the chain or use the buttons below

Lightning escrow example: signed records bind identities, terms and reported outcomes through hashes. Changing a bound field breaks verification.

5 provider signaturesDescriptor, offer, quote, invoice bundle, and receipt come from the provider.
1 requester signatureThe deal is the requester’s cryptographic commitment to the quoted terms.
1 terminal recordThe receipt is the provider’s signed report of the outcome, verifiable later.

The artifact chain is both the protocol flow and the audit log. The same objects used during execution are the objects you verify afterwards.

The diagram shows Lightning escrow, including its InvoiceBundle after the Deal. A free exchange uses five artifacts: Descriptor, Offer, Quote, Deal and Receipt (four provider signatures and one requester signature). Prepaid exchanges also omit the InvoiceBundle. A signature authenticates the provider’s reported outcome; it is not proof that arbitrary computation was performed.

Requester ↔ Provider message flow

Watch the four-step exchange that turns a quote into a verifiable receipt.

ArtifactSigned byWhy
DescriptorProviderDeclares identity
OfferProviderCommits to pricing
QuoteProviderPrices specific workload
DealRequesterAccepts quoted terms
InvoiceBundleProviderLightning escrow payment instructions, when applicable
ReceiptProviderSigned reported outcome

The Deal is the only artifact signed by the requester — it accepts the Quote’s terms, including payment when applicable. Everything else is signed by the provider.

Every artifact in the chain is a JSON envelope with identity and integrity proof built in:

{
"artifact_type": "offer",
"schema_version": "froglet/v1",
"signer": "02a8d6...public_key",
"created_at": 1700000000,
"payload_hash": "sha256_of_canonical_payload",
"hash": "sha256_of_canonical_signing_bytes",
"payload": { ... },
"signature": "bip340_schnorr_signature"
}

Verification: canonicalize the payload (RFC 8785 JCS), hash it with SHA-256, rebuild the signing bytes, verify the BIP340 Schnorr signature against the signer key. If it passes, the payload is untampered and the artifact came from the holder of the private key.