Recipient guide
Someone running a distribution — a project, a DAO, a protocol — included your Stellar address in their recipient list. This page explains what happens next.
What you should have received
Four values. If the sender gave you a claim link, they have handled these for you; if they sent you details to enter yourself, you need all four:
- Campaign id — a number identifying which distribution you are claiming from.
- Your index — your position in their list. Yours alone; you do not need anyone else's.
- Your amount — how many tokens, and how many decimal places the token uses. 10,000 units of a token with 7 decimals is 1 token.
- Your proof — a short list of hashes. Roughly 14 for a 10,000-person campaign.
What happens when you claim
- Your wallet signs one transaction.
- The contract recomputes your leaf from your address, index, and amount, and checks that your proof leads to the root the issuer committed.
- If it matches, tokens move from escrow to your address, and your index is marked spent.
You pay your own transaction fee. The issuer is not involved and cannot block an individual claim once the campaign is open.
Why your address is part of the math
The proof commits to your specific address and amount. You cannot change the destination to a different wallet, and nobody else can submit your proof for their own address — the recomputed leaf would not match the root. If you want the tokens to land somewhere other than the address you were given, that address has to be the one that signs the claim.
Common rejections and what they mean
| You see | It means |
|---|---|
| AlreadyClaimed (#11) | This index was already used. If that was not you, the sender handed out a duplicate proof — ask them. |
| InvalidProof (#12) | One of the four values does not match what the issuer committed. Usually a wrong amount or a stale index after the list was edited. |
| DistributionExpired (#9) | The deadline passed. The issuer can still sweep the rest; your window is closed. |
| DistributionCancelled (#8) | The issuer stopped the campaign. |
| DistributionNotFound (#6) | Wrong campaign id, or the contract you are talking to is not the one the campaign lives on. |
Check for a claim without a dashboard
The claim UI is not built. Until it is, verification is a read call: is_claimed(campaign_id, your_index) returns whether your slot is spent, and get_distribution(campaign_id) shows the status, deadline, and how much has been claimed.
Two things to be careful about
- Network. Everything live today is on Stellar testnet. A claim pointed at pubnet will fail, and a sender asking you to claim real tokens on a contract that is only deployed to testnet is a red flag.
- The contract is unaudited. Claims move tokens from escrow, and the code is public — but no external firm has reviewed it. Treat large or high-stakes distributions accordingly.