List a project
This guide walks project teams through submitting, verifying, and launching a campaign on ZenEarn.
A campaign includes staking and quests, funded by two on-chain vaults.
Overview
Flow: Submit → Review → KYC (Sumsub) → On-chain Activation → Fund Vaults -> Create Quests → Go Live
1) Prerequisites
- A Zenchain-compatible token (deployed and verified).
- Project owner wallet(s) ready (one or multiple).
- Marketing assets (logo, tokenomics images, team photos).
- Optional: Audit report URL.
Tip: Prepare everything in advance to speed up review and activation.
2) Submit a Listing Request
Click on Launch Campaign and complete the form.
Required Project Details
-
Branding
- Logo (400×400 recommended, squared image)
-
Identity
- Project name
- Network
- Token contract address
- Short description (≤ 240 chars)
-
Audit
- Audited? Yes/No
- If Yes: audit report URL
- If No: describe if you have plans for audit
-
Links
- Website
- Socials: X, Discord, Telegram
-
Token Specs
- Max Supply
- Current Circulating Supply
- Current Marketcap
- Token Distribution image (800×600 recommended)
- Token Vesting image (800×600 recommended)
-
Team
- Team Description (≤ 240 chars)
- Members (photo 400×400 recommended, name, role, socials)
- Milestones & Penalties
Milestones are market-cap targets that progressively reduce the claim penalty on staking rewards.
| Phase | Market Cap Target | Claim Penalty |
|---|---|---|
| 1 | $X,XXX,XXX | 75% |
| 2 | $Y,YYY,YYY | 50% |
| 3 | $Z,ZZZ,ZZZ | 25% |
| 4 | Reached Goal | 0% |
- While a phase is active, staking reward claims are reduced by the phase’s penalty.
- When the next milestone is reached, the penalty decreases automatically.
Best Practice: Choose realistic, transparent targets and explain them in your project page.
-
Vault Details
- Staking vault amount
- Target APR for staking
- Quests vault amount
-
Ownership
- One or more project owner addresses
-
Contacts
- Choose contact preference
- Accept Terms and Conditions
Note: All details must be accurate and kept up to date.
3) Check your campaigns status
Go to Campaigns -> My Campaigns and check the status.
Clicking on each campaign open the details.
-
Campaign Status
You can check the current status in the status box, can be one of the following:
- Pending: New project listing request added.
- Declined: Zenchain rejected the project.
- Pending KYC: Zenchain approved the project.
- KYC Declined: The KYC provider declined the verification.
- KYC Pending Approval: Waiting the KYC provider for confirmation.
- Pending Activation: Waiting Zenchain for final activation.
- Active: Project is officially active, tokens can be deposited to vaults and quests can be created.
4) Review & Approval (Zenchain Team)
- The Zenchain team reviews your submission for completeness, risks, and alignment.
- You may be asked to clarify or update fields.
Outcome:
- Approved → Proceed to KYC.
- Rejected
5) KYC procedure
Pending KYC
When the project is in Pending KYC status, the project owner must complete the KYC verification.
Clicking on the URL or scanning the QR Code using a mobile device, starts the procedure.
KYC Pending Approval
Once the project owner provides all the requested documents to the KYC provider, the project goes in status KYC Pending Approval.
Pending Activation
Once the KYC verification is completed, the project goes in status Pending Activation, waiting the final on-chain project activation done by Zenchain Team.
6) Fund Vaults
Once your campaign status is Active, you can fund the two on-chain vaults that power rewards.
What You’ll Fund
- Staking Vault: pays out staking rewards.
- Quests Vault: pays out quest rewards.
Note: You must be a registered project owner address to deposit or withdraw.
Prerequisites
- Wallet connected to Zenchain.
- Sufficient project tokens in your wallet.
- (First time only) Be ready to Approve the token before Deposit.
Steps
- Go to Campaigns → My Campaigns → Your Campaign.
- Choose Staking Vault or Quests Vault.
- Enter the Amount to deposit.
- Click Deposit, confirm the transaction.
- Wait for confirmation and the Vault Balance will update.
Note: Tokens will be locked for a period determined by Zenchain to prevent service disruption.
Note: The balance of each Vault is splitted in ZenEarn Vault Balance (tokens dedicated to staking or quests, for users) and Zenchain Vault Balance (tokens that reward the platform).
Tip: Keep a small buffer in both vaults to avoid reward interruptions, especially during peak quest activity.
Warning: If a vault runs out, new rewards can’t be paid until you top up.
7) Create Quests
Quests drive engagement and distribute rewards from the Quests Vault. Create a mix of staking tasks and social or Dynamic Quests.
Prerequisites
- Quests Vault funded.
- Campaign is Active.
- At least one owner address connected.
Steps
- Go to Campaigns → My Campaigns → Your Campaign.
- Click Create Quest.
- Choose a Quest Type (see below).
- Fill in details:
- Quest Description (≤ 100 chars)
- Reward Amount (Optional, Tokens Rewards)
- Other fields (based on quest type)
- Review the quest data and click on Submit.
Quest Types
-
Lock X Tokens for Y Time
Requires a user to lock at least X tokens for Y duration.- Fields:
Lock Amount,Lock-in Period, optionalReward Amount.
- Fields:
-
Join Discord Channel Verifies membership or completion through the platform’s flow.
- Fields:
Discord Channel IDs(comma-separated), optionalReward Amount.
- Fields:
-
Join Telegram Channel
Verifies membership or completion through the platform’s flow.- Fields:
Telegram Channel IDs,Telegram BOT Token, optionalReward Amount.
- Fields:
-
Dynamic Quest
ZenEarn verifies completion by calling your external REST API.- Fields:
API URL, optionalReward Amount.
- Fields:
Tip: Use a variety of quests so newcomers and power users both find something to do.
Dynamic Quest — Verification
ZenEarn calls your endpoint with the user’s wallet and quest reference. You return whether the user completed the requirement.
Request made by ZenEarn:
{
"walletAddress": "0x...",
"campaignId": "1",
"questId": "101"
}
Response by your API:
{
"result": true
}
Note:
resulttrue in case of completion otherwise false.