app-store-cli to get your service verified and deployed on the main network.
The Automated Verification Process
Publishing triggers a fully automated workflow that gets your code from your machine to a live mainnet canister with cryptographic proof of integrity:- Publish: You submit your service’s Git commit hash and metadata to the protocol using
app-store-cli release. - Bounty Creation: The protocol automatically creates verification bounties (~$2.25 per version) to incentivize independent verifiers.
- Automated Build Verification: Multiple independent verifier bots detect your submission, clone your repository, rebuild your WASM in deterministic Docker environments, and compare hashes.
- Consensus: The system requires 5 of 9 independent verifiers to agree on the same WASM hash for verification to succeed.
- Attestations: Verifiers file cryptographic attestations on-chain (ICRC-126) and claim their bounty rewards (ICRC-127).
- Deploy: Once verified, the protocol automatically creates a new canister on your behalf and deploys the verified WASM to the main network.
- Security Audits (Optional): You can add additional bounties to incentivize security auditors to review your code for vulnerabilities, earning higher certificate tiers (Gold, Silver, Bronze).
Step 1: Ensure Your Code is Committed
The verification process is anchored to a specific Git commit. Make sure all your changes are committed and pushed to GitHub:app-store-cli release command will automatically capture your commit hash and update your prometheus.yml file.
Step 2: Configure Your Manifest (One Time Setup)
If you haven’t already, initialize yourprometheus.yml configuration file:
prometheus.yml file and configure:
- Your service metadata (name, description, category)
- Public
icon_urlandbanner_urlfor the App Store listing (see below for hosting tips)
git_commit and wasm_path fields will be automatically updated by the release command, so you don’t need to manually set them.
Step 3: Host Your App’s Visual Assets
Your app’s icon and banner need to be accessible via public URLs to be displayed in the App Store. The easiest and most professional way to host these is by using GitHub Releases.- Navigate to Releases: In your GitHub repository, click on the “Releases” tab on the right-hand side.
- Draft a New Release: Click the “Draft a new release” button.
- Create a Tag: In the “Choose a tag” box, type a new tag for your assets (e.g.,
v1.0.0-assets) and click “Create new tag”. Give it a title like “App Store Assets”. - Upload Images: Drag and drop your
icon.pngandbanner.pngfiles into the attachments box. - Publish Release: Click the “Publish release” button.
- Copy URLs: On the release page, your images will be listed as assets. Right-click on each asset’s filename and select “Copy Link Address”. These are the permanent, public URLs you’ll need for your
prometheus.ymlmanifest.
Step 4: Publish Your Service (One Command)
Now you’re ready to publish! Therelease command handles everything automatically:
- ✅ Updates the version number in your source code (
src/main.mo) - ✅ Commits and pushes the version change to GitHub
- ✅ Captures the commit hash and updates
prometheus.yml - ✅ Commits and pushes the
prometheus.ymlupdate - ✅ Builds your WASM using the reproducible build system
- ✅ Publishes to the registry and creates verification bounties
Step 5: Monitor the Verification Status
Once you’ve published, your submission automatically triggers the verification network. Multiple independent verifier bots will:- Clone your repository at the exact commit hash
- Rebuild your WASM in deterministic Docker environments
- Compare the built WASM hash with your submitted hash
- File cryptographic attestations on-chain
- Claim their bounty rewards
- Go to https://prometheusprotocol.org/audit-hub
- Find your service and view the verification progress
- Watch as verifiers complete their builds and file attestations
Understanding the Verification Process
Build Verification (Automated):- Free for users to verify (reproducible builds are public infrastructure)
- ~$2.25 cost per version for bounty rewards to verifiers
- Proves integrity: deployed code matches source code
- Required for all published services
- Additional bounties for human security experts
- Proves safety: source code is free from vulnerabilities
- Required for Gold/Silver/Bronze certificate tiers
- Can be added after build verification completes
Speeding Up Security Audits
If you want to achieve a higher certificate tier (Gold, Silver, or Bronze), you’ll need security audits in addition to build verification:- Add a Bounty: Use the app store UI to add security audit bounties to your submission, making it more attractive for human auditors.
- Request a Bounty: If you don’t want to fund it yourself, you can post in our Discord and ask if another community member is willing to sponsor your audit.
🎉 Congratulations! Your MCP server is a trusted, verified, and discoverable part of the Prometheus ecosystem.

