Sui, Walrus, Seal
A passport is only worth the proof behind it.
SourceLoop records are readable by anyone with the QR code, and checkable by anyone who wants to know whether the record has changed since it was published. Three components do that work, and each has one job.
Prototype. The anchor values on demo passports are placeholders. Production passports anchor at the moment of publication. User-created passports show "Not yet anchored" until on-chain writes are live.
Each published passport gets an object on Sui holding the hash of its evidence bundle and the moment of publication. Change one field and the hash no longer matches. That's the whole point.
- One object per passport
- Every version kept
- Public, cheap to check
Certificates, geospatial files, lab reports and build records live as Walrus blobs. The passport references the blob id, so evidence stays retrievable without being pasted into a chain transaction.
- Blob ids referenced by the passport
- Content-addressed, so nothing silently swaps
- Survives supplier turnover
Pricing, due diligence declarations and audit files are encrypted with Seal. Keys are released only to wallets that satisfy the access policy, so a public record can still hold private commercial detail.
- Field-level encryption
- Access policy held on chain
- Buyer view without a data room
From evidence to anchor.
- 01Collect
Suppliers submit certificates, geodata, lab results and build records against a claim.
- 02Grade
Each claim gets a level from L0 to L5 based on who attested it and what backs it.
- 03Bundle
Public and encrypted evidence are packaged, hashed and written to Walrus.
- 04Encrypt
Buyer-only fields are sealed against an access policy before the bundle leaves the platform.
- 05Anchor
The bundle hash is committed to a Sui object, timestamping the passport as published.
- 06Serve
The QR code resolves to the passport, and anyone can re-hash the bundle to check it matches.
What an anchor record looks like.
Two demo passports, one with restricted claims and one where every claim is public. Every chain value below is a prototype placeholder and says so.
Battery pack, restricted claims
SL-BAT-2026-001 / PACK-60-0001- status
- anchoredprototype value
- sui object
- 0xDEMO_SUI_BATTERY_0x8f31c04aprototype value
- tx hash
- 0xDEMO_TX_BATTERY_5b7ad9e2prototype value
- walrus blob
- DEMO_WALRUS_BAT_7q2Xh1TnZprototype value
- bundle hash
- DEMO_BUNDLE_BAT_1f0c93prototype value
- seal policy
- 0xDEMO_SEAL_POLICY_bf20a7prototype value, 1 restricted claims
- anchored
- 2026-03-29prototype value
Black honey coffee, all claims public
SL-ID-2026-003 / BH-200-0001- status
- anchoredprototype value
- sui object
- 0xMOCK_SUI_OBJECT_0004prototype value
- tx hash
- 0xMOCK_TX_HASH_0004prototype value
- walrus blob
- MOCK_WALRUS_BLOB_0004prototype value
- bundle hash
- MOCK_BUNDLE_HASH_0004prototype value
- seal policy
- noneevery claim on this passport is public
- anchored
- 2026-04-25prototype value


