Introducing Nervlith (formally Mint Gate): a CKB-native token gating and membership platform

GM NERVOS BUILDERS!!!,

The product previously called Mint Gate is now Nervlith (formally Mint Gate).

Nervlith is a CKB-native DAO launcher, token gating and membership platform.

It is also translated to Mandarin for wider community scope

How Does Nervlith work

Nervlith works in a simple way:

  1. Own a DID passport, without an identity on Nervlith you can’t access or join communities.

  2. Create a community, choose a governance model, add a gate fee, Membership Card design.

  3. Join a community created by someone by paying the gate fee.

  4. Get an xUDT (NFT) membership card that gives you access to the community.

  5. Participate in community activities e.g. voting on proposals.

It is that simple.

Demo: https://nervlith.vercel.app/

The Problem

A hosted forum keeps membership in an operator’s database, proposals in a chat room, and identity in a handle that stays with the host. The chain never sees who belonged, who paid, or which model the community chose.

CKB already has the pieces for a community the VM can check: a cell for the community, a type script for its rules, xUDT for membership, and DID:CKB for a passport that travels with the person. Nervlith is the launcher that puts those pieces in one place.

What Nervlith is

A community is a gate fee plus a governance model.

Build. The founder launches the community as cells. They set a name, a description, a gate fee of at least 200 CKB, and a governance model. The community type script checks those fields on creation and stores the chosen model on the community cell, so later governance can read it from the same schema.

Govern. Paying the fee mints a membership. When voting arrives, each vote is its own intent cell. A tally reads those cells and updates community state. The voter signs the vote once. The tally does the rest.

Belong. DID:CKB is the passport across communities. Nervlith keeps a single account system: that DID. The membership card is how belonging to one community looks.

Governance models

The community contract accepts three models. Any of the three may be stored on the community cell. The models mimics real world governing modes.

Autocracy (The North Korea)

The owner keeps control. Members hold a card, and the owner decides.

Democracy (The American Model)

Available once governance starts. One membership, one vote. Any member may propose. All members vote. The owner can be voted out.

Legislative (The English)

Available after that first voting trial has real communities behind it. Members elect a council. The council votes on laws between elections.

Democracy and Legislative follow AnihDev’s CKB voting pattern (which will be integrated into the project) into Nervlith. Each vote is an independent intent cell. Nervlith will build the transaction that creates the vote cell, and a separate aggregation flow will read those cells. Aggregation does not ask the voter to sign again. The ballots stay in their own cells.

The first governance trial is the basic one: a proposal, a vote, one card, one vote. Councils wait until communities are actually forming.

Projects Nervlith builds on

Nervlith is a launcher around cell-native work that is already on CKB.

CCC

Common Chains Connector is how Nervlith talks to the chain. Wallets, cells, and typed transaction builders go through CCC. Every transaction declares cellDeps for the scripts it uses. Where a script reads a witness, the Rust script and the TypeScript builder use the same slot.

DID:CKB and Vellum

Identity is DID:CKB through @ckb-ccc/did-ckb, with profile records from Vellum by truthixify. A person can create a DID, resolve it, edit the profile, rotate keys, deactivate it, and migrate from did:plc. That DID is the passport every community recognizes.

After governance, Vellum claims can attach to the same DID: a small cell issued by someone else, such as a verified GitHub handle or a completed CKB task. Those claims may later weight a vote or open a gate.

Intent-cell governance

AnihDev’s voting dapp is the pattern for Democracy and Legislative, linked above. Nervlith will implement that pattern in its own proposal cells, vote cells, and tally. The MVP does the launch and the gate first. The vote cells come with the governance phase.

The contracts are no_std Rust on ckb-std. The app is Next.js, TypeScript, and Tailwind.

What the MVP covers

The project could be large and so I have decided to cut down building time by focusing on the most important parts.

The MVP is three phases: identity, community creation, and a gate that checks membership. The owner keeps control through that span. Voting and other community activities is the phase after the MVP.

What you can use now

The demo at https://nervlith.vercel.app/ currently includes:

  • A DID on the connected wallet: create, resolve, edit the profile, rotate keys, deactivate, and migrate from did:plc.

  • A shell for the passport: landing, dashboard, browse communities, and My Identity.

  • A four-step launch: name and description, gate fee and model, a live card designer, and review.

  • A community type script that checks the name, the gate fee, and the governance model, and stores the model on the community cell.

  • The founder’s membership: an owner-mode xUDT of amount 1, and the card drawn from that community’s metadata.

Autocracy is the model a launch can select today.

What the MVP still includes

  • The join flow: pay the gate fee, mint the membership xUDT, and show the card.

  • A lock script that opens an action only when the transaction inputs include that community’s membership xUDT.

  • The same witness slot on both sides of that lock: input_type.

After the MVP

  • Democracy as the first voting trial, then Legislative council elections.

  • Proposal cells, independent vote cells, and an aggregation flow.

  • Reputation claims on the DID, after governance.

Try the demo

  1. Open https://nervlith.vercel.app/.

  2. Connect a wallet on CKB testnet.

  3. Open My Identity and create a DID, or migrate a did:plc you already hold.

  4. Launch a community. Set the name, a gate fee of at least 200 CKB, and Autocracy, then design the card.

  5. Review the card. The launch mints that membership to the wallet that signs.

Use testnet CKB. A launch lands when the community script is deployed on the network you are connected to. The source is at GitHub - Victor-Okenwa/nervlith: A CKB-native token-gating/membership platform for governance, proposals and community management · GitHub .

Feedback

I would value notes from people building on CKB, especially on:

  • Whether a membership card backed by an owner-mode xUDT reads clearly as membership.

  • Whether Autocracy is the right model to run first, with Democracy and Legislative already stored on the community cell.

  • What you would put behind a card if the first communities are for CKB builders.

Thanks for reading. I look forward to the discussion.

6 Likes