Skip to main content
Once your service is built and tested, the final step is to publish it. This makes it discoverable in the Prometheus App Store and signals its quality to the world. This guide will walk you through using the app-store CLI to get your service verified and deployed on the main network.

The Verification Process

Publishing is a formal, on-chain process that gets your code from your machine to a live mainnet canister.
  1. Publish: You submit your service’s Git commit hash and metadata to the protocol.
  2. Build & Verify: The protocol’s automated system checks out your code, builds the WASM file, and verifies that its hash matches the one produced on your machine. This proves the source code is what you claim it is.
  3. Deploy: Once the build verification passes, the protocol automatically creates a new canister on your behalf and deploys the verified WASM to the main network.
  4. Audits: Independent auditors review your source code for quality and security. You can add bounties to incentivize faster reviews.

Step 1: Get Your Git Commit Hash

The entire verification process is anchored to a specific Git commit. This ensures that the code being audited is exactly the code you intended to publish. Make sure all your changes are committed.
# This command gets the hash of your latest commit
git rev-parse HEAD
Copy this hash; you’ll need it for your manifest file.

Step 2: Find Your WASM Path

The publishing tool needs to know where your compiled canister WASM is located so it can hash it for verification. After running a local deploy (npm run deploy), you can find it at this path:
.dfx/local/canisters/<canister_name>/<canister_name>.wasm
For example, if your canister is named the_weather_oracle, the path would be .dfx/local/canisters/the_weather_oracle/the_weather_oracle.wasm.

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.
  1. Navigate to Releases: In your GitHub repository, click on the “Releases” tab on the right-hand side.
  2. Draft a New Release: Click the “Draft a new release” button.
  3. 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”.
  4. Upload Images: Drag and drop your icon.png and banner.png files into the attachments box.
  5. Publish Release: Click the “Publish release” button.
  6. 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 manifest.

Step 4: Initialize and Configure Your Manifest

The app-store CLI needs a configuration file to know what to submit. If you haven’t already, initialize it.
# Using the npm script
npm run app-store init -y

# Direct CLI command
npx @prometheus-protocol/app-store-cli init -y
This command creates a prometheus.yml file in your project root. Open this file and fill in all the details about your service, including:
  • The git_commit hash from Step 1.
  • The wasm_path from Step 2.
  • The public icon_url and banner_url you created in Step 3.

Step 5: Publish Your Service

Now, publish your service to the protocol. This single command bundles your code’s proof (the commit hash and WASM hash), your WASM file, and your metadata, and submits it to the Audit Hub.
# Using the npm script (replace "1.0.0" with your version)
npm run app-store publish "1.0.0"

# Direct CLI command (replace "1.0.0" with your version)
npx @prometheus-protocol/app-store-cli publish "1.0.0"

Step 6: Monitor the Verification Status

Once you’ve published, your submission enters the audit queue. You can track its progress on the Prometheus Audit Hub.
  1. Go to https://prometheusprotocol.org/audit-hub
  2. Click on the “Pending Verifications” tab.
  3. Find your service by its WASM hash.
Once the build verification is complete, your MCP server will be deployed and will appear on the App Store home page.

Speeding Up the Review

The audit is performed by other members of the ecosystem. To get your service reviewed faster, you can add a bounty to your submission.
  • Add a Bounty: Use the app store UI to add a bounty to your pending audit, making it more attractive for reviewers.
  • 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 review.

🎉 Congratulations! Your MCP server is a trusted, verified, and discoverable part of the Prometheus ecosystem.
I