Skip to content

📦 A smart contract that distributes a balance of tokens according to a Merkle root

License

Notifications You must be signed in to change notification settings

timwhite2/merkle-distributor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

merkle-distributor

Crates.io License Build Status Contributors

A program for distributing tokens efficiently via uploading a Merkle root.

This program is largely based off of Uniswap's Merkle Distributor.

Rationale

Although Solana has low fees for executing transactions, it requires staking tokens to pay for storage costs, also known as "rent". These rent costs can add up when sending tokens to thousands or tens of thousands of wallets, making it economically unreasonable to distribute tokens to everyone.

The Merkle distributor, pioneered by Uniswap, solves this issue by deriving a 256-bit "root hash" from a tree of balances. This puts the gas cost on the claimer. Solana has the additional advantage of being able to reclaim rent from closed token accounts, so the net cost to the user should be around 0.000010 SOL (at the time of writing).

The Merkle distributor is also significantly easier to manage from an operations perspective, since one does not need to send a transaction to each individual address that may be redeeming tokens.

License

The Merkle distributor program and SDK is distributed under the GPL v3.0 license.

About

📦 A smart contract that distributes a balance of tokens according to a Merkle root

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 72.8%
  • Rust 19.3%
  • Shell 3.7%
  • Nix 3.6%
  • JavaScript 0.6%