Skip to Content
Dial v1 live 🎉

Conformance

Mostly not available yet. Last checked 2026-11-02. The canonical fixtures don’t exist. The first public check is the EVM prediction test.

An implementation conforms when it passes shared test vectors and fails closed on bad input. “It worked in our demo” doesn’t count.

What exists today

CheckWhereAccess
CREATE2 prediction against the Sepolia factoryThis guidePublic, re-run 2026-11-02
Forge and Vitest parity testsspawn-proto devPrivate
Validator unit tests, 10 recorded passingcardano-invoicing devPrivate
Canonical SPORE and SPAWN fixturesNot builtNone
End-to-end conformance artifactNot builtNone

Required flows

The release gate for the first testnet profile covers four flows:

FlowPath
SendCapability discovery, quote, authorization, execution, receipt
RequestSigned request, publish, resolve, pay, receipt
InvoiceSigned invoice with a chosen fee payer, resolve, quote, pay, settled state
Off-network invoiceRecipient with no Dial account opens a link, verifies, pays and reloads without double settlement

Required negative cases

Each one must fail with no external effect:

  • Tampered amount, fee payer or command set
  • Wrong issuer or bad signature
  • Expired or revoked object
  • Stale current-state data
  • Duplicate or replayed payment
  • Quote expiry or fee change
  • Commitment mismatch
  • Wrong predicted address
  • Cache or service loss, which must not change what counts as true

Deployment vectors

Each deterministic strategy needs CI-checked vectors with these fields:

factory, inputSalt, effectiveSalt, initCodeHash, predictedAddress

Changing the salt, the init code or the factory must change the result, and the tests have to prove it.

Evidence

A conformance run produces a machine-readable artifact with object references, content hashes, quote and route IDs, fee breakdown, execution evidence, the receipt and the final state, with secrets redacted.

Explore invoicing: Programmable Invoicing

Last updated on