Getting started
Yield distribution
Real-world assets can produce cash flow — rent, harvest sale, licensing fee. Verity Portal token creators can share that cash flow with token holders using VerityYieldDistributor, a Merkle-drop contract.
Flow
- Creator opens their token's trading page → clicks Distribute yield.
- Types an ETH amount + optional memo (e.g. "Q3 harvest").
- Verity snapshots current holders by replaying Uniswap V3
Swapevents on the pool → per-wallet balances (excluding the pool itself) → pro-rata ETH allocation → OpenZeppelin standard Merkle tree. - Creator signs one tx to
createDistribution: deposits ETH, publishes the Merkle root + snapshot block on-chain. - Every eligible holder sees a You have X ETH unclaimed banner on the trading page. One click on Claim all pulls their share via
claim(id, amount, proof).
Rules
- Launcher-only. Only the wallet that launched the token can create distributions against it. The contract itself is permissionless — the app UI enforces this.
- Excludes the pool. The Uniswap V3 pool holds most supply until buys happen. It's excluded from snapshots so yield goes to real holders, not the pool.
- Dust folded into the largest holder. Rounding errors from integer division roll up to whoever holds the most tokens, so
sum(amounts) == totalPayoutWeiexactly. - 365-day reclaim window. Unclaimed ETH after the deadline can be swept by the creator so griefers or unreachable Merkle trees don't lock funds forever.
- ETH only for now. ERC-20 payout support (USDC, DAI) is on the roadmap.
Why this matters
This is the feature that lets Verity tokens stop being “a bet on a claim” and start being “a share of an asset that produces cash”. A token whose creator regularly distributes rent is fundamentally different from a token that just floats on hype.

