Public site for Anmu (安幕). The live origin is https://anmu.pro.
This package is a single page. It explains the protocol to someone who has not opened a campaign record: a fixed-supply token, a zero-knowledge authorization, a public payment, and two launch products. English and Chinese. The launchpad is https://app.anmu.pro. The specification is https://docs.anmu.pro.
The page does not read CampaignRegistry, does not connect a wallet, and does not build a proof. The chain client is the launchpad.
The hero states the product: a private campaign, proved in zero knowledge, whose record stores commitments. The record does not store a creator wallet, a beneficiary wallet, or a fee-receiver wallet.
The proof section names the four bindings a reviewer can ask about: the creator commitment, membership in the authorization root, the nullifier, and the configuration digest. Name, symbol, supply, metadata, commitments, allocation, and creator tax freeze in that digest.
The two products are stated with their fees:
| Campaign | Standard token | |
|---|---|---|
| Creation | No creation fee | 0.005 BNB, credited to the fee vault |
| Donations | The full amount is credited to the beneficiary | Rejected |
| Trade fee, in BNB | 0.5% creator, 0.5% added when the curve migrates | 0.7% creator plus an optional tax of 0%, 1%, 2%, or 3%, and 0.3% platform |
Both open the same bonding curve and migrate to PancakeSwap V2 at a 100 BNB market cap. Ninety-five percent of the LP token is burned. Holding the token is not a donation and is not a claim on donated BNB.
The funding line is fixed: Anmu is a funding protocol. It does not promise a return.
Privacy copy on this page keeps the protocol boundary. Proof verification does not make the surrounding transactions anonymous. That sentence is the only place the word "anonymous" belongs.
The notes section links to https://docs.anmu.pro/privacy and https://docs.anmu.pro/launches. Those paths resolve after the docs site is deployed with its SPA rewrite.
The site has one route, /. The header jumps inside that page.
| Anchor | Section |
|---|---|
#features |
What the proof binds, and the two surfaces a visitor can use |
#about |
The protocol in the context of a public chain |
#faq |
Campaign fees, the privacy boundary, and the standard-token fee |
#docs |
Links into the specification |
#blog |
Field notes. Each card links to its source |
Social links are https://t.me/anmuprotocol and https://x.com/anmuprotocol. The footer privacy link is the docs privacy page.
Copy .env.example to .env. Every VITE_ value is compiled into the public site. Do not commit .env.
| Variable | Default |
|---|---|
VITE_APP_URL |
https://app.anmu.pro |
VITE_DOCS_URL |
https://docs.anmu.pro |
VITE_TELEGRAM_URL |
https://t.me/anmuprotocol |
VITE_X_URL |
https://x.com/anmuprotocol |
There is no .env in this package until one is created. The defaults above are the ones the code uses.
Strings live in src/i18n.tsx. The Chinese dictionary is a complete keyof typeof en. A new English string needs a Chinese string in the same change. The funding sentence and the privacy boundary stay verbatim.
npm install
npm test
npm run devThe dev server listens on http://127.0.0.1:5176. npm test renders / and checks the hero, the fee statements, the docs anchors, and the field-note sources.