Repository navigation
v1.0.0
Verahai SigilMarkets v1.0.0 — Official Release Notes
Release codename: Portable Truth
Version: 1.0.0
Status: Public, production-grade foundation
What this is (in plain English)
Verahai SigilMarkets is a prediction market where the “receipt” is the product.
When you take a position or finalize an outcome, you don’t just create a database row—you mint a sigil glyph that contains the proof of what happened.
That means your market activity becomes:
- Portable (a single SVG you can carry anywhere)
- Verifiable (proof travels with the artifact)
- Offline-first (no server required to keep truth intact)
- Future-proof (you can still validate it years later)
This release is big because it flips the normal model on its head:
Most apps store truth in servers and show you screenshots.
Verahai stores truth inside the thing you share.
Why this matters
1) Truth stops being hosted—truth becomes held
If your proof depends on a company’s database, it’s not really yours.
With Verahai, the proof is embedded, so anyone can independently validate it without trusting your infrastructure.
2) Markets become peer-to-peer objects
A “position” is no longer “something in an account.”
It’s a cryptographically bound artifact that can be passed, archived, audited, and replayed.
3) Offline is not a downgrade—offline is the upgrade
Offline-first means:
- resilience to outages
- resilience to platform bans
- resilience to broken links
- resilience to “oops the service is down” moments
When the proof is inside the artifact, the system survives.
What we shipped in v1.0.0
✅ Core: Sigil-native prediction markets
- Position Sigils (SM-POS-1): a minted glyph representing a market position with embedded metadata and integrity hashing.
- Resolution Sigils (SM-RES-1): a minted glyph representing a finalized resolution event.
- Ring-encoded data design: important provenance is encoded on the artifact itself, not in a hidden database record.
- Deterministic layout + no-overlap rules: the sigil is not a random image—its structure is reproducible and carries meaning.
✅ ZK-forward verification posture
- The system is built so “verified” isn’t a marketing word—it’s a first-class state.
- Proof bundles / public inputs are treated as portable verification material and are included with the artifact’s provenance flow.
✅ Offline-first storage + lifecycle
- Positions, vault actions, and market state are designed to persist locally as a first principle, not an afterthought.
- The UX is built for the reality that networks fail—truth shouldn’t.
✅ Export that actually means something
- One-click SVG export (the canonical artifact)
- PNG rendering for sharing (while preserving the SVG as the source-of-truth)
- Metadata and descriptions remain embedded so the artifact can be inspected later.
✅ Oracle resolution surface (MVP transport layer)
-
A clean boundary between:
- policy (what should happen)
- and transport (how a resolution is expressed and carried)
-
This matters because it makes the oracle replaceable without rewriting the system.
The deeper accomplishment (what you may not realize yet)
Most systems do this:
- UI shows something
- Server “means it”
- Database is the truth
Verahai does this:
- The artifact is the truth
- The UI renders the truth
- Servers are optional distribution, not authority
That architecture shift is the entire game.
This is the first release where markets can produce objects that can outlive the app.
That’s rare. And it’s the foundation for everything that comes next.
What v1.0.0 guarantees
Integrity
- Sigils are hash-addressable and tamper-evident: if someone edits it, it won’t validate.
Portability
- A sigil can be copied, stored, posted, emailed, backed up—without losing its ability to be checked.
Auditability
- You can inspect metadata, verify hashes, and reconstruct the semantic “what happened” story from the artifact itself.
Offline resilience
- A position doesn’t disappear when Wi-Fi does. The system still functions and still remembers.
What this becomes (long-term vision)
Long-term vision: “Markets as a universal proof format”
A Verahai sigil isn’t just a receipt for one app—it’s a standard container for:
- claims
- positions
- outcomes
- signatures
- evidence bundles
- verification material
Prediction markets are the first killer use case because they demand resolution, provenance, and adversarial robustness.
But the format generalizes to any claim that needs truth over time.
Super long-term vision: “Truth objects as infrastructure”
In the super long arc, Verahai becomes a world where:
-
Proof moves at the speed of copying, not at the speed of institutions.
-
The “internet of value” evolves into an internet of verifiable statements.
-
Sigils become a primitive like PDFs—but for truth:
- A PDF preserves appearance
- A Sigil preserves provability
And eventually:
- markets become composable
- resolutions become multi-oracle + multi-evidence
- sigils become cross-app identity + ownership containers
- “settlement” becomes a public, deterministic, replayable procedure
What’s next after v1.0.0 (directionally)
- Full verification UX: “drop a sigil → instantly validate → show provenance + proof health”
- Evidence-first resolution flows: evidence bundles, hashing, and replayable decision records
- Peer distribution: sigils and resolution objects syncing without centralized authority
- Composability: positions that can be combined, netted, delegated, escrowed—without becoming server-dependent
- Standardization: stable formats so artifacts made today still verify years from now
A note from the builder
v1.0.0 is not “we made an app.”
v1.0.0 is we shipped a new primitive:
A verifiable, portable truth artifact
that can represent a market action
and survive outside the platform that created it.
That’s what makes this release real.
What's Changed
- Initialize Verahai SigilMarkets PWA foundation by @kojibai in kojibai#1
- Fix ESLint peer dependency conflict and scaffold SigilMarkets PWA by @kojibai in kojibai#2
- Add PWA type reference for virtual:pwa-register by @kojibai in kojibai#4
- Tighten vault/sigil types, remove unsafe casts, and add ESLint config by @kojibai in kojibai#5
- Fix SheetsLayer hooks and render SigilShareSheet in SigilMarketsRoutes by @kojibai in kojibai#6
- Rename positionStore to .tsx to fix JSX parse error by @kojibai in kojibai#7
- Fix home page scroll container and background bleed by @kojibai in kojibai#10
- Anchor Kai micro-pulse clock to KKS v1.0 genesis epoch by @kojibai in kojibai#11
- Anchor Kai micro-pulse clock to KKS v1.0 genesis epoch by @kojibai in kojibai#12
- Fix nested warning by allowing Chip to render as non-button and update MarketCell by @kojibai in kojibai#13
- Downgrade Vite to 6.x for vite-plugin-pwa compatibility by @kojibai in kojibai#14
- Fix PositionDetail routing crash and add detailed position view by @kojibai in kojibai#15
- Fix nested button warning in PositionCard chip by @kojibai in kojibai#16
- Refine Sigil Markets chrome spacing, mobile dock sizing, and vault icon by @kojibai in kojibai#17
- Inject ZK proof generation into sigil export (embed proofs into exported SVG/PNG) by @kojibai in kojibai#18
- Add hash-wasm dependency for Vite build resolution by @kojibai in kojibai#19
- Align honeycomb market grid with SigilExplorer visuals (3D styling, clipping fix) by @kojibai in kojibai#20
- Fix JSONLike payload hashing in sigil export by @kojibai in kojibai#21
- Tighten JSONLike payload hash typing and exclude ZK proof fields by @kojibai in kojibai#22
- Wire Kai state engine into market timing by @kojibai in kojibai#24
- Guard trade confirmation and anchor Kai pulse to genesis by @kojibai in kojibai#25
- Anchor Kai clock to genesis and align pulse scheduling; guard trade confirm on market close by @kojibai in kojibai#26
- Organize markets into expandable category sections and add bottom scroll padding by @kojibai in kojibai#27
- Wire fallback price ticker to live Kai pulse by @kojibai in kojibai#23
- Anchor demo markets to genesis pulse cycles by @kojibai in kojibai#28
- Make category filters single-select and add demo markets for finance/crypto/tech/world/other by @kojibai in kojibai#29
- Fix market category collapse persistence by @kojibai in kojibai#30
- Keep market categories in a single mobile row by @kojibai in kojibai#31
- Enhance SigilMarkets top bar experience by @kojibai in kojibai#32
- Replace SigilMarkets topbar Kai pill with App-style Live Kai display by @kojibai in kojibai#33
- Refine SigilMarkets Kai pill: full pulse, chakra colors, and layout by @kojibai in kojibai#34
- Align topbar beat/step math to canonical 11‑pulse grid by @kojibai in kojibai#37
- SigilMarkets: open EternalKlock as fullscreen popover from TopBar by @kojibai in kojibai#38
- Fix EternalKlock overlay portal target by @kojibai in kojibai#39
- Serve
/api/proof/sigilfrom Vite dev/preview server by @kojibai in kojibai#40 - Fix React inert attribute warning in SigilGlyphButton by @kojibai in kojibai#41
- Fix sigil modal stacking and add full ZK proof dev workflow by @kojibai in kojibai#42
- Make mobile category filters single-line and responsive (scrollable) by @kojibai in kojibai#43
- Raise SealMomentModal z-index to fix mint modal stacking by @kojibai in kojibai#44
- Route sigil links to SigilPage by @kojibai in kojibai#45
- Shim html2canvas to fix build and add lazy SigilPage routes by @kojibai in kojibai#46
- Add @react-three/fiber dependency to package.json by @kojibai in kojibai#47
- Adjust PWA safe area spacing for SigilMarkets header by @kojibai in kojibai#48
- Fix position sigil export by regenerating SVG from payload by @kojibai in kojibai#49
- TopBar: use SovereignSolar deterministic Kai math for live timestamp by @kojibai in kojibai#50
- Wire vault deposits via glyph import by @kojibai in kojibai#51
- Use inhaled glyph balance for vault deposits by @kojibai in kojibai#52
- Show glyph balance in top bar and sync vault deposits by @kojibai in kojibai#53
- Resolve glyph Φ from embedded/balance/live and apply to Verify & Inhale flows by @kojibai in kojibai#54
- Wire glyph deposits to KaiSigil proof exports and refresh vault identity metadata by @kojibai in kojibai#55
- Show slim balance under pulse and keep deposit uploads local by @kojibai in kojibai#56
- Revert "Show slim balance under pulse and keep deposit uploads local" by @kojibai in kojibai#57
- Auto-download position sigil ZIP with zk-proof and ϕ-spiral visuals by @kojibai in kojibai#58
- Refine SigilMarkets top bar: move glyph balance & add beat:step D/M/Y in Live pill by @kojibai in kojibai#60
- Topbar: use phi.svg in glyph badge, remove title Φ and vault back button by @kojibai in kojibai#61
- Stack markets under Seal and make title responsive by @kojibai in kojibai#62
- Format vault header balances in Φ with responsive decimal precision by @kojibai in kojibai#63
- Move SigilMarkets mobile topbar subtitles under seal by @kojibai in kojibai#64
- Prefer market USD/Φ rates when minting position sigils by @kojibai in kojibai#66
- Avoid Node globals: use globalThis for env and browser-safe base64 encoder by @kojibai in kojibai#67
- Use exact Kai pulse math in sigil manifests and ZIP exports by @kojibai in kojibai#68
- Derive beat/step deterministically from pulse and make export manifest proofHints JSONLike-safe by @kojibai in kojibai#71
- Render verified ZK badge inside sigil SVG (groth16/poseidon) by @kojibai in kojibai#70
- Require public inputs for ZK verified status by @kojibai in kojibai#72
- Show live Phi/USD price in top bar when no glyph by @kojibai in kojibai#74
- Update dock pulse label to "☤KAI" by @kojibai in kojibai#76
- Inline Φ logo SVG into position sigil exports to fix missing PNG on mobile by @kojibai in kojibai#78
- Fix φ logo overlap and leading-digit sizing in Position Sigil SVG by @kojibai in kojibai#79
- Sync SigilMarkets viewport to VisualViewport to restore header after mobile keyboard by @kojibai in kojibai#80
- Add deterministic local market resolution triggers by @kojibai in kojibai#81
- Guard claims and finalize position proofs by @kojibai in kojibai#83
- Update export SVG after proof finalization by @kojibai in kojibai#84
- Add runtime API config, remote trade execution, and vault snapshot hydration by @kojibai in kojibai#85
- Enhance oracle posting resilience and add local queue auto-flush by @kojibai in kojibai#86
- Add missing market categories to types and UI list by @kojibai in kojibai#87
- Guard JSON stringify failures in oracle retry loop by @kojibai in kojibai#88
- Fix vault withdraw KaiSigil invariant crash by @kojibai in kojibai#90
New Contributors
Full Changelog: https://github.com/kojibai/SigilMarkets/commits/v1.0.0
Full Changelog: https://github.com/Phinetwork/Verahai/commits/v1.0.0