CycleShareLedger + OVS(ICRC-85): A Simple Way To Fund Open-Source Work on the IC

CycleShareLedger is a live Open Value Sharing (OVS) ledger on the Internet Computer.

Mainnet token canister: q26le-iqaaa-aaaam-actsa-cai
Frontend canister: mwoki-dyaaa-aaaai-av4ua-cai

If you publish reusable canister libraries, this gives you a practical way to earn from real usage.

What Is CycleShareLedger?

CycleShareLedger receives cycle-share deposits from OVS-enabled libraries and tracks value by namespace.

At a high level:

  1. Open Source Libraries send cycle-share deposits.

  2. The ledger mints OVSdv for the related namespace.

  3. Namespace owners claim their namespace payouts.

  4. Owners can withdraw value as T-Cycles on the Cycles Ledger.

Everything is recorded on-chain, so attribution and payouts are transparent.

What Is OVS?

OVS (Open Value Sharing) is a pattern where software shares a small amount of cycles based on usage. See discussions about ICRC-85 - Open Value Sharing (OVS) - #18 by skilesare

Instead of open-source maintainers depending only on donations, usage can create recurring funding.

This helps align incentives:

  • Builders get sustainable support.

  • Users get better-maintained libraries.

  • The community gets transparent funding flows.

How ovs-fixed Fits In

For Motoko devs, ovs-fixed is the easiest way to add OVS behavior.

 include OVSMixin({
    config = {
      args = ?ovsConfig;
      pullEnvironment = ?getEnvironment;
      org_icdevs_class_plus_manager = manager;
      onInitialize = null;
    };
    caller = _owner;
    canisterId = canisterId;
  });

see GitHub - icdevsorg/ovs-fixed · GitHub for more implementation details.

Typical flow:

  1. Claim a namespace (for example org.yourorg.yourlib - note: YOU WILL HAVE TO PROVE OWNERSHIP OF THE DOMAIN VIA DNS REGISTRATION SO MAKE SURE YOU ACTUALLY OWN IT).

  2. Add ovs-fixed to your project. mops add ovs-fixed

  3. Configure your namespace and collector target.

  4. Track usage actions in your code.

  5. Let periodic sharing send cycle deposits.

  6. Use CycleShareLedger to verify and withdraw.

Install command:


mops add ovs-fixed

If you want to target this ledger, use the CycleShareLedger canister as collector:

q26le-iqaaa-aaaam-actsa-cai

Using The CycleShareLedger Web App

Frontend canister: mwoki-dyaaa-aaaai-av4ua-cai

The app is designed for both exploration and operations:

  1. Dashboard
  • Overall stats and recent activity
  1. Leaderboards
  • Top paid accounts and top namespaces
  1. Namespaces
  • Browse namespace records and members
  1. Claim
  • Login with Internet Identity

  • Register a domain

  • Claim/manage namespaces

  • Run withdrawal-related actions

  1. Transactions
  • Browse full transaction history
  1. About
  • Overview of standards and system design

Why This Is Useful For The DFINITY Community

This approach turns a hard problem, open-source sustainability, into something operational and measurable.

It gives maintainers a way to earn from adoption, while keeping the entire process visible on-chain.

If you are building libraries and/or deploying canisters for your users on the IC, OVS is worth evaluating as part of your default architecture.

Mainnet IDs

  • OVS token canister: q26le-iqaaa-aaaam-actsa-cai

  • Index canister: sedkw-qyaaa-aaaam-ai5nq-cai

  • Frontend canister: mwoki-dyaaa-aaaai-av4ua-cai

  • Cycles ledger: um5iw-rqaaa-aaaaq-qaaba-cai