DEVELOPMENT · Notes from the Lean team. Real-money services are not enabled.
[← blog]
2 min readLean team

How units are allocated

Daily holding time, exact integer arithmetic and cumulative proofs. The rules implemented for deciding who receives new units.

Development note · The public app offers a simulated demo and public data views. Lean's real-money launch, trading and redemption services are not enabled. This article explains the implementation being built.

The allocation engine measures eligible token balances across a UTC day. It multiplies each balance by the time it was held, then divides that day's available units in proportion to each wallet's share of the total eligible holding time. For a simple example, holding 100 tokens for 12 hours contributes the same weight as holding 50 tokens for 24 hours.

Transfers change that weight during the day. The calculation uses an opening checkpoint, ordered finalized transfer logs and a closing checkpoint. It checks that supply, balances and the previous day's cumulative allocation agree. Integer rounding remainders carry forward instead of disappearing. If there is no eligible holding time, the units carry forward too.

Eligibility and verification

System addresses are excluded through an explicit, hashed policy. The base set includes the token's curve, fee receiver, venue account, buffer and related protocol contracts; the effective epoch list must include the documented additional exclusions. A label such as “exchange wallet” is not sufficient evidence to change someone's eligibility.

Each artifact identifies its chain, ledger, token, day, exclusions and previous artifact. A second calculation uses a different formula to recompute the same result. Matching hashes show that the supplied inputs produce the same accounting result; independently obtaining and validating those chain inputs is also necessary.

From an allocation to a claim

The contracts use cumulative Merkle proofs, so a wallet claims the increase above its previously claimed amount. An allocation root needs a different verifier and a six-hour activation delay. The ledger also checks that the token's allocated total does not exceed its recorded minted units for that day.

The allocator and contract checks are implemented and tested. Scheduled publication, independently operated verification and sponsored claims are not running production services. The demo's daily progression illustrates the intended experience; it is not a live allocation receipt. There is no published lean-verify package to install.

Connect demo wallet

The demo wallet holds slices in three tokens and created $GOLDBUG. No browser wallet is requested.

Reset the demo

This clears the tokens, claims, and redemptions you created in this browser and restores the original sample portfolio.

Wallet transaction

Connect wallet

Use a browser wallet to look up its public portfolio. Connecting requests account access, with no signature or transaction.

Checking for browser wallets…

Wallet permissions are managed in your wallet. Closing this sheet does not dismiss an open wallet prompt.

[look up a public address]