Skip to content

The Deal Flow

Click the chain or use the buttons below

Every artifact references the previous one by hash. Tamper with any link and the chain breaks.

5 provider signaturesDescriptor, offer, quote, invoice bundle, and receipt come from the provider.
1 requester signatureThe deal is the requester’s cryptographic commitment to pay.
1 terminal proofThe receipt is the final artifact any third party can verify 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.

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
DealRequesterCommits to pay
InvoiceBundleProviderPayment instructions
ReceiptProviderProof of execution

The Deal is the only artifact signed by the requester — it’s their cryptographic commitment to pay. 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.