Docs & FAQ
How Sapling works
Short answers, real numbers. Every figure on this page comes from the app's live configuration.
What Sapling is
Sapling is a memecoin launchpad built on pump.fun. Every coin planted here is a real pump.fun coin, quoted in ZEC (Zcash on Solana) instead of SOL. A slice of every trade's creator fee goes into that coin's roots, a pool of ZEC that belongs to the coin. Any holder can burn tokens to harvest their share of the roots in ZEC. Memes with roots.
How planting works
Your wallet asks you once, for one transaction that does two things:
- The coin: created on pump.fun, paired to ZEC, with a 2.00% creator fee, and the planting fee of 0.01 SOL paid to the Sapling treasury. On pump.fun the deployer's wallet shows as creator; the creator fee itself goes to Sapling's program (A9zF…5UxF; each coin's own fee account is linked on its page), which splits it on chain.
- The declaration: where your 0.80% of every trade goes (you, another wallet, or holder rewards). The new coin's own key signs it after you, so only the page planting the coin can write it, once.
Both are one transaction: they land together, or neither lands and nothing is spent but the network fee. Your wallet can show exactly what it does before you approve, and it may add its own safety checks to it. Planting again after an attempt that was sent uses a new coin address. A coin without the declaration, or without the planting fee, is not registered.
The name can be up to 32 bytes, as on pump.fun: letters outside A–Z take 2–4 bytes each. The description shown on pump.fun and explorers ends with “Launched on sapling.cash”, and an empty website links to the coin's page here.
You can add a first buy in the same transaction, paid in ZEC. If you only hold SOL, the app swaps SOL to ZEC through Jupiter first, as its own approval; the swap is simulated and refused if it would cost more than the SOL swapped plus 0.003 SOL, and the planting is asked for once the swap is final (if you then stop, you keep the ZEC). With a first buy the planting is near Solana's size limit, so it may carry no priority fee and take a little longer to land when the network is busy. Plant a coin.
Stages
The roots and the harvest rule work the same at every stage.
Where the sap goes
Every trade pays a 2.00% creator fee in ZEC. It splits four ways.
pump.fun takes its own protocol fee on top: 0.95% on the curve, 0.25% after graduation. None of it reaches Sapling. The split can change within the program's bounds: the roots never below 0.50%, Sapling never above 0.40%.
- This coin's roots. Deposited into the coin's roots, up to 5 ZEC per coin. This is what Harvest pays from.
- Rootstock. The keeper buys $SAPLING, the pad's own coin, and burns it.
- Sapling. The operator's share. It pays for the keeper, the indexer and the people running the pad.
- The deployer's choice. Chosen when the coin is planted: the deployer's wallet, another wallet, or holder rewards. See below.
The split can change within bounds the program enforces: the roots never get less than 0.50% of a trade and Sapling never more than 0.40%. A change applies to every coin, from the next split on. $SAPLING itself is the exception: all of its creator fee goes to the Sapling treasury.
The deployer's 0.80%
Whoever plants a coin chooses where this share goes. It is paid in ZEC.
- Me. The planting wallet. The default.
- Another wallet. Any address. That wallet controls the share from the start; the deployer has none.
- Holders. Holder rewards: 0.80% of every trade paid in ZEC to holders, min $20 holding. Permanent.
Only the current payee controls it. The payee can redirect it to another wallet, which then controls it, or turn it into holder rewards, which nobody controls afterwards. Redirecting hands over control. You can't take it back. Nobody else can change it: not the deployer after a handover, not Sapling, not the admin.
Payouts. Each split puts the share into the coin's own account, held by the vault program. Anyone can send what is waiting to the current payee; Sapling does it automatically whenever the payee's wallet has a ZEC account, and never pays to open one (the payee can claim on the coin page). When the payee redirects or turns the share into holder rewards, what is waiting is paid to them in the same transaction, so nobody else can stand in the way of a change. No pause stops a payout.
Keep your ZEC account yours. Payouts, a redirect and the switch to holder rewards all pay into the payee's own ZEC account. The token program lets a wallet hand that account to another owner; a payee who does so stops all three, and the share waits in the coin's account until the new owner hands it back. It affects only that payee's share, and only the payee can cause it.
Holder rewards. The share collects in the coin's pot. When the pot is worth about $25 and the last run was at least 4 hours ago, the keeper takes a snapshot of every wallet holding the coin at a random, unannounced minute. Wallets holding $20 or more share the pot pro rata; program accounts (the bonding curve, pools, lockers), burn addresses and Sapling's own wallets do not count. The keeper pays in batches; holders do nothing. A holder whose wallet has no ZEC account is skipped and the share rolls into the next run.
What the program enforces, and what it does not. The pot can only move to Sapling's rewards wallet, one run at a time, at most once an hour per coin, and only after the snapshot's fingerprint (its sha256) is written on chain. Who gets how much is computed by the keeper and is not enforced on chain; every snapshot, share and transfer is published on Rings so anyone can check it. Sapling pays the transaction fees.
Harvest
Harvest value per token = ZEC in the roots ÷ total unburned supply. Roots exist while there's ZEC in them.
- Why total unburned supply. Every unburned token, wherever it sits, has an equal claim on the roots. That includes tokens still unsold on the curve and tokens locked in the pool. Supply only moves through burns, so nobody can change the payout by trading. Any "circulating" figure that subtracts the curve or the pool could be pushed around inside one transaction, so the rule does not subtract.
- It only rises. A harvest removes tokens and the matching share of ZEC in the same proportion, so the ratio never drops from a harvest. Deposits and donations only raise it.
- Dust. If your tokens would pay out zero base units of ZEC, the harvest fails and nothing is burned. The app shows the exact payout before you sign, and the transaction refuses to pay less than that.
- Any stage. You can harvest while a coin is a Seed, a Sapling or an Orchard. The rule does not depend on the stage.
Harvest is on each coin's page, below the chart. It works once the vault program is deployed on mainnet; until then the button says so.
Zcash stamps
When you harvest, you can add a Zcash stamp: a permanent record of the harvest on Zcash (the coin, the tokens burned, the ZEC harvested) and 546 zatoshi sent to the Zcash address you give. The stamp fee, 0.0004 ZEC, is taken from your share in the same transaction, and the certificate page shows it.
- Which addresses. Transparent addresses (t1…, t3…), TEX addresses, and unified addresses that include a transparent part: the stamp goes to that part, and the panel shows which one before you sign. Shielded-only addresses cannot receive a stamp: a shielded output's memo is encrypted, so nobody could check it.
- It is public, forever. A stamp publicly links the harvesting Solana wallet to that Zcash address: the memo is public on Solana, the output is public on Zcash, and the certificate shows both. Use an address you don't mind linking to this wallet.
- When. Within a few minutes of the harvest; final after 10 Zcash confirmations. If the address cannot receive a stamp, or no stamp goes out within 7 days, the fee goes back to your wallet, and the certificate says so.
- Only when it is worth it. Stamps are offered for harvests of at least 0.004 ZEC, so the fee stays under a tenth of the share.
- Anyone can check. The rules are public: a stamp counts only if it is the first Zcash transaction from Sapling's stamp address that cites the harvest with the right amounts and pays its address. Every stamp, refund and pending request can be rebuilt from the Solana and Zcash chains alone; Rings shows the totals.
A stamp is a permanent record of your harvest on Zcash, and a small amount of ZEC sent to you. It is not a token and has no promised value. Nothing about it converts into anything later.
ZEC from and to Zcash
Sapling trades in ZEC on Solana. If your ZEC is on Zcash (in Noir, Zodl or any Zcash wallet), you can bring it in, and you can have a sale or a harvest paid out to a Zcash address. NEAR Intents (its 1Click service) moves it between the two chains. Sapling never holds it.
- Sapling never holds your funds. Your ZEC goes from your wallet to NEAR Intents (1Click), and from there straight to your own wallet.
- The bridge can delay or hold a transfer. NEAR Intents can delay a transfer or hold it (for example for a compliance review). Sapling cannot speed it up or release it.
- Not shielded. Refunds and payouts go to transparent Zcash addresses. They are NOT shielded, and the link to your Solana wallet is public.
- Check the full address. Compare every character with your own wallet, not only the start and the end. Scammers send tiny amounts from look-alike addresses so they show up in your history: never copy an address from a transaction history or an explorer.
- Bringing ZEC in. On Bring ZEC from Zcash, connect your Solana wallet, enter the amount and a Zcash refund address. You get a one-time deposit address of NEAR Intents and the exact amount to send, as text and as a QR code (Zodl and other wallets scan it); with Noir, the page can ask Noir to send it. The ZEC arrives in your Solana wallet, usually within 10 minutes of your send.
- The deadlines. Each deposit address is good for one quote, which has two times. The first, about 80 minutes after the quote, is when NEAR Intents starts refunding instead of swapping; the page shows the time to send by in bold and hides the address 20 minutes before it. The second is NEAR Intents' own deadline, days later (the page shows it): the address then goes inactive, and ZEC sent after it may be lost. Never reuse an old address.
- Refunds, coming in. If less than the quoted amount arrives, or nothing arrives before the refund time, NEAR Intents sends what it received back to your Zcash refund address, minus its refund fee (about 0.0003 ZEC). A refund can take until NEAR Intents' own deadline. A refund address is required, and it is transparent, so the refund is public.
- Paying out. In the sell tab or in Harvest, tick “Receive as native ZEC on Zcash” and enter your Zcash address. In the same transaction as the sale or harvest, your wallet sends NEAR Intents exactly the sale's guaranteed minimum, the same number written into the sale itself on the curve and on PumpSwap (anything above it stays in your wallet as ZEC on Solana), or your harvested share (less the stamp fee, if you add a stamp). Nothing is sent unless the trade itself goes through. If NEAR Intents cannot deliver, the ZEC comes back to your Solana wallet.
- Sending ZEC you hold. On Move ZEC, Send to Zcash, send ZEC you hold on Solana to your Zcash address without selling a coin. It is the same payout as a sale's or a harvest's: one transaction from your wallet to NEAR Intents' one-time deposit address, the same checks, fees and minimum, and its own page to follow it. On a coin page, “Buy with native $ZEC” opens Bring from Zcash and, once the ZEC is on Solana, takes you back to that coin to buy with it.
- Which Zcash addresses. Transparent addresses (t1…, t3…), TEX addresses, and unified addresses that include a transparent part: that part is paid, and the page shows it in full before you sign. Shielded-only addresses cannot be paid yet. Payouts are not shielded; shield them in your Zcash wallet afterwards if you want them private.
- Costs. NEAR Intents charges a flat fee per transfer, whatever the amount. Coming in, it is about 0.00001 ZEC when your Solana wallet already has a ZEC account, and about 0.0002 ZEC when NEAR Intents has to open one for it. Going out, NEAR Intents quotes about 0.0003 ZEC and has been taking about 0.00025; the page shows the fee from its quote and, once it is done, what it took. These are the figures at the time of writing. There is a minimum of about 0.0013 ZEC. A payout may also open NEAR Intents' ZEC account once, up to 0.00204 SOL, and your Zcash wallet adds its own network fee. Sapling's fee: none. Every screen shows the exact figures before you confirm.
- What Sapling checks. Before it shows a deposit address or builds a payout, your browser checks NEAR Intents' own signature on a fresh quote it asked for itself, and asks NEAR Intents directly that the address pays your wallet or your Zcash address, exactly as you typed them in this browser, with no fee Sapling did not ask for. A transfer started in another browser is only followed there, never shown with an address to send to. Addresses come only from what you type or from that signed quote, never from any transaction history.
- Following a transfer. Every transfer has its own page (/zec/…) that reads its state from NEAR Intents. You can close it and come back to the link. In the browser you started it in, the page shows everything; in any other browser it only shows where the transfer stands, never a deposit address or a Zcash address from NEAR Intents' record (a link can come from someone else).
New to Zcash?
The ZEC you hold on Sapling is ZEC on Solana. To use Zcash's privacy, move it to a shielded Zcash wallet; ZecHub explains how.
Who holds the keys
sapling_vault (the vault program) is an on-chain program. It holds each coin's roots in an account only the program can move, and it performs the burn and the payout in one instruction. Nobody has to trust the keeper, the web app or the operator to pay out.
- The admin can set caps on the roots, pause and unpause deposits or harvests (for all coins or for one), change how creator fees are split, only within fixed bounds (the roots always get at least 25% of each creator fee, and the treasury at most 20%; there is no floor on the deployer's share), change the treasury, buyback and rewards wallets (never to the recovery address), move a paused coin's ZEC to one fixed recovery address, and upgrade the program. Split and wallet changes take effect immediately and apply to every split made afterwards, including creator fees already collected but not yet split and creator fees still waiting at pump.fun. ZEC already in the roots is never affected by them. The admin cannot send ZEC from the roots anywhere else, and cannot change a coin's payee or take its waiting payout. Because the admin chooses the rewards wallet, a stolen admin key could point it at itself and release holder-rewards pots to it (each at most once an hour, and every release is alerted).
- The keeper can only deposit ZEC into the roots, settle claimed creator fees by the configured split, send payees what is waiting for them, and run holder rewards through the rewards wallet as described above. It cannot pause, withdraw, change caps, change a payee or upgrade.
- Anyone can deposit ZEC into any coin's roots, and harvest their own tokens.
The admin can cap and pause a coin's roots, and only while they are paused move their ZEC to a fixed recovery address.
$SAPLING (rootstock)
$SAPLING is the pad's own coin, planted through the same flow as every other coin. 25% of every coin's creator fee (0.50% of each trade) buys $SAPLING and burns it. That is the rootstock. It has its own roots fed by 25% of its own creator fees, and the same harvest rule.
FAQ
Do I need ZEC?
Why can't a coin be paired to $SAPLING?
What happens at graduation?
Is ZEC on Solana private?
Can I use the ZEC in my Zcash wallet?
Can the operator take my coins?
Risks
Memecoins can go to zero. Roots exist while there's ZEC in them, and they are capped per coin. Sapling depends on pump.fun, on a bridged ZEC, and on a few programs. Read the full risk disclosure before trading.