Verity Protocol
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

  1. Creator opens their token's trading page → clicks Distribute yield.
  2. Types an ETH amount + optional memo (e.g. "Q3 harvest").
  3. Verity snapshots current holders by replaying Uniswap V3 Swap events on the pool → per-wallet balances (excluding the pool itself) → pro-rata ETH allocation → OpenZeppelin standard Merkle tree.
  4. Creator signs one tx to createDistribution: deposits ETH, publishes the Merkle root + snapshot block on-chain.
  5. 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) == totalPayoutWei exactly.
  • 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.