Docs
Architecture
No backend: how the site reads and writes Solana, the tech stack and the repo layout.
Overview
Munera has two parts: an Anchor program that holds the rules and the funds, and a Next.js website that talks to Solana directly from the browser. There is no server, database or indexer.
How reads work
- The site builds an Anchor
Programfrom the committed IDL and reads accounts withprogram.account.bounty.all()andprogram.account.submission.all()(withmemcmpfilters for per-bounty and per-creator queries). - The leaderboard, creator profiles, dashboard and payment history are computed in the browser from those accounts.
- Payout transactions are found with
getSignaturesForAddresson the submission account. - Vault balances come from
getTokenAccountBalance. - Creator profiles are SPL Memo records signed by the creator wallet, read with
getSignaturesForAddressand cached in the browser (see Creator profiles).
How writes work
Your wallet signs transactions built by the Anchor client (create_bounty, submit_clip, approve_submission, reject_submission, reclaim_unspent). Errors are mapped from the IDL to friendly messages.
Tech stack
- Program: Rust, Anchor 0.30.1, SPL Token.
- Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS.
- Solana:
@solana/web3.js1.x,@coral-xyz/anchor,@solana/spl-token, Solana wallet adapter (Phantom, Solflare). - Hosting: Vercel, auto-deployed from GitHub
main.
Repository layout
text
programs/munera/ Anchor program (src/lib.rs)
tests/ Program tests (22)
scripts/ create-mint, mint-to
app/ Next.js frontend (deploy root on Vercel)
src/lib/ program, pda, data, errors, docs content
src/components/ UI components
src/app/ routes
assets/ logo, X banner
docs/ demo script and pitch notes