tariorg — a member-governed organization with a treasury, on Ootle
A full-stack vertical slice: a WASM smart-contract template, a CLI, and a web UI.
Members are identified by their top-level signer public key. Organizations hold treasury vaults and govern themselves through on-chain proposals with a configurable quorum: add a member, remove a member, or send funds from the treasury.
It exercises a wide slice of Ootle end to end: components, templates, access rules, vaults and buckets, transaction building/signing/sealing, the indexer (state reads plus reconstructing executed-proposal history from events), and wallet-daemon auth (api-key, none, and webauthn, with in-browser demo accounts as a fallback).
Also worth noting: while building this I found and fixed a bug in the Ootle engine itself, where AccessRule::ScopedToComponent / ScopedToTemplate rules weren’t being enforced on component methods. It was merged upstream: feat(engine)!: add caller_component/direct_caller_template rule requirements by n0izn0iz · Pull Request #2503 · tari-project/tari-ootle · GitHub
- Code: GitHub - n0izn0iz/tariorg · GitHub
- Live demo: https://tariorg.pages.dev
- Live org: https://tariorg.pages.dev/org/3498284e0a69dbd925b52dc9b2ff46e9c4aa1854c280e917168a669a5fa8efb5
- Payment address: 12N4M9kurwxYAuREn5dk8sDAWx3Uonk7WYDt2XocSwNc4A3ryhNr4vejJbHBc3xgtreGeWaVkNgBSPc3HUB4F3DdAvH
- Social announcement: nono on X: "Shipping my first Ootle build: tariorg, a member-run org with a treasury and on-chain governance proposals. Entering it in the September contest 🦾 > Live demo: https://t.co/EYvVzATwh4 > Repo: https://t.co/wPTytIrv14 > #Ootle" / X
- Community post: Tariorg: an organization with a treasury, on Ootle - #4 by GSXRspartan