# Open source contract comparison

Ethereum Solana Paloma Description
ERC20 (opens new window) SPL (opens new window) CW20 (opens new window) Base implementation for creating tokens
ERC721 (opens new window) Token Metadata Standard (opens new window) CW721 (opens new window) Base implementation for creating NFTs
PaymentSplitter (opens new window) cw-payment-splitter (opens new window) Contract to split incoming payments between a number of addresses
Gnosis Safe (opens new window) SPL Governance (opens new window) CW3 (opens new window) Contracts for making DAOs or managing multisigs
Proxy (opens new window) Native upgrades Native upgrades (opens new window) Upgradable smart contracts
Multicall (opens new window) Multicall (opens new window) Query multiple contracts in a single request
merkle-distributor (opens new window) cw20-merkle-airdrop (opens new window) Contract to allow airdropping tokens to a large list of addresses.
ENS (Ethereum Name Service) (opens new window) Name service program (opens new window) TNS (Paloma Name Service) (opens new window) Contracts for mapping string domains to on-chain addresses