Home Apps My Licenses FAQ Pricing Register App Get License

Register Your App

Deploy a zkApp on Mina that handles licensing for your software. Set your price, payment address, and we generate the smart contract. Terms and conditions, compiled.

📄 Read the Docs · SDK Reference · Listing Requirements · 📊 Vendor Dashboard

1
Connect
2
Vendor & ToS
3
App Info
4
Pricing
5
Deploy

Connect your developer wallet

This wallet will be the zkApp's admin key — it can update pricing and withdraw funds. Keep it safe.

Vendor identity & Terms of Service

Your legal identity, billing details, and Terms of Service acceptance are collected in one step and signed with a single wallet signature. Required to meet legal obligations for tax reporting and vendor identification. On devnet, you're approved automatically.

Required. Bound cryptographically to your ToS acceptance signature. Not shown on your public listing.

Enter your billing street address
Enter your city
Enter your postal code
Select your country
Enter a valid invoice email
Enter the name of the register you're filed in
Enter your registration number
You must accept the Vendor Terms of Service to continue.
One wallet signature. Your wallet will pop up with the full acceptance statement — read it there before you sign. Nothing is broadcast on-chain; this is a private, off-chain record we keep on file.

App information

App name is required
App ID is required (lowercase letters, numbers, hyphens only)
Used for the app card web link, icon, and — critically — the on-chain zkappUri that buyers check against your domain from a Mina explorer (see Trust anchor). Set only once during init. This domain also becomes the origin for the Terms, Privacy, Refund policy, Buy, Renew, Refund, and Verifier URLs below — each of those fields is a path only, so buyers can trust that every SDK endpoint lives at the same origin as your listing.
App Website, when provided, must start with https://
Enter a valid support email address

Shown to buyers before purchase (EU Consumer Rights Directive Art. 6). Terms, Privacy, and the Refund/withdrawal policy govern your product and must point at pages you publish. Enter paths only — the domain comes from App Website above. If you leave both App Website and these fields blank, the marketplace uses the zklicensing.com defaults.

Enter a path only — no https:// and no leading /
Enter a path only — no https:// and no leading /
Enter a path only — no https:// and no leading /

Where the SDK renders buy / renew / refund pages and where the verifier lives. Enter paths only — the domain always comes from App Website above, so buyers can trust that the endpoint origin matches the vendor origin they see in the marketplace listing. If you leave App Website blank, the marketplace falls back to zklicensing.com-hosted buy.html, renew.html, refund.html, and api/verify — those are devnet only, so for mainnet you must set App Website. The marketplace appends ?app=<zkAppAddress>&network=<net> at link time.

Enter a path only — no https:// and no leading /
Enter a path only — no https:// and no leading /
Enter a path only — no https:// and no leading /
Enter a path only — no https:// and no leading /

License pricing

Enter a valid Mina address (starts with B62q)
Durations are fixed on-chain: 1 Month = 30 days; 1 Year = 365.25 days; 5 Years = 5 × 365.25 days. Once a buyer purchases, the expiry is fixed and cannot be changed by you, the platform, or anyone else.
Tier Price (MINA)
Monthly (30 days)
MINA
Yearly (365.25 days)
MINA
Fetching MINA price…
5 Years (5 × 365.25 days)
MINA

Cap how many devices can hold an activation token for the same license at the same time. Defaults to 0 (unlimited); set any positive number to cap. Enforced by the verifier when a device proves ownership; users can log a device out via the SDK, or re-prove to reset all sessions.

Hard cap on how many devices your buyer can bind to a single license — enforced on-chain by the circuit itself, not by your server. Buyers sign every bind/unbind with their passphrase-derived key; nobody else (not you, not the platform) can add or remove a device. Defaults to 0 (binding disabled); max 5 (the on-chain slot array is fixed-width). See Device binding docs for the full non-custodial model and its limits.

🏛 Platform fee: zkLicensing takes 2% of each license payment, deducted on-chain via the zkApp. You receive the rest instantly to your payment address.

Review & deploy zkApp

App Details

Name
App ID
Category
Website
Tags

Pricing

Payment address
Platform fee2%

zkApp Settings

NetworkMina Devnet
Grace period7 days
Refund window14 days

Terms and conditions, compiled. Every license deployed on zkLicensing includes the following on-chain protections, enforced by the shared zkApp circuit:

  • 7-day grace period after expiry — proofs remain valid so users can renew without interruption.
  • 14-day refund window — buyers can request a full on-chain refund within 14 days of purchase.

These terms are compiled into the verification key; they apply to every deployment and cannot be toggled per-app.

⛓ Deploying will broadcast one zkApp creation transaction on Mina Devnet. You'll sign it in Auro. Mina account-creation fee: ~1 MINA. A 10 MINA one-time registration fee is charged in the same transaction — it covers your zkApp going on-chain, the buyer / renew / refund example pages, and eligibility for a public marketplace listing (subject to moderation).

Awaiting App ID signature…

Sign your App ID to prove you control the vendor address.

Signing App ID
Proving deploy
Confirming transaction
Registering app

Pending Deploy

Waiting for your zkApp to land on Mina Devnet.

Inclusion typically takes 45 seconds, but can be up to 20 minutes in slow blocks. You can read the integration docs below while you wait — there's nothing more to sign.

Listing review: your app is deployed on-chain, but the public marketplace listing is queued for moderation. We review submissions within 7 business days in most cases, and up to 15 business days at the latest. See the listing requirements, or check status in the Vendor Dashboard.
Selling now: you don't have to wait for the listing review — the on-chain zkApp is live and can already take purchases via the Buyer page URL below (buy.html?app=<your zkApp address>). Renewals work the same way against renew.html. See Buying and renewing by zkApp address.
B62qm4...Xp9N
Mh9xKA...3pRz
https://yourdomain.com/buy.html?app=my-app
Tier Price Duration
Drop this into packages/sdk/examples/ to try the buy / renew / refund examples.
  • Verify licenses in your appnpm install zklicensing and follow the SDK README.
  • Prepare branded buy / renew / refund pages — versions matching your own domain and style. Drop the apps.json above into packages/sdk/examples/ as a starting point. See the SDK README. Optional on devnet, mandatory on mainnet.
  • Manage — update app details, pricing, and see stats in the Vendor Dashboard.
Advanced: self-host the verifier (optional).