Realm

memba_blog_v1:app-store

gno.land/r/samcrew/memba_blog_v1:app-store

← All realms

Render

An App Store where you can read the app before you run it

2026-07-08 · by g1x7k4628w93a7wzdhqc06atzx0v50rnshweuxu0

Every app store asks you to trust an opaque binary. A gno.land store has the one thing they can't offer: every app is a public realm you can read. Memba's App Store leans all the way into that.

What you get (product)

/apps is a curated shelf of on-chain apps. Each listing shows what the app does, who published it, and a first-class link to its realm path — with a "read the source" button that drops you into the Explorer. First-party apps open inline as a Memba route; third-party apps open in a new tab (never an iframe — an embedded app asking you to sign shouldn't look endorsed). Apps with no uploaded artwork get a deterministic monogram seeded from their realm path, so the shelf looks intentional even before creators add icons.

Under the hood (engineering scope)

The listing data is read from the memba_appstore_v2 realm via ABCI (ListLiveJSON) — the page only reads; registering an app is a wallet flow. The realm is deployed on test13 behind a self-managed 2-of-2 admin, and it went live only after its fee-path checklist was verified against the realm's own tests: the treasury address matches, the coin-guard rejects overpay and wrong denominations, IsUserCall rejects realm-to-realm calls, and every RegisterApp variant forwards its fee — with accounting checked end to end (start balance minus end balance equals N × the forwarded fee).

The frontend is gated by VITE_ENABLE_APPSTORE. Because the fee path is now verified, that flag was removed from the build-time safety gate and legitimately turns the lane on in production — the store degrades gracefully to an empty state if the realm can't be reached, so a network blip never shows a broken page.


Built by Samourai Coop, in the open at github.com/samouraiworld/memba. Open an app, read its realm, then run it.

Source (qfile)

blog.gno
gnomod.toml