How Sando works.
Sando is a memecoin launchpad that puts the same token, at the same contract address, on Robinhood Chain, BNB Smart Chain and X Layer — three layers, one sandwich. Every token trades on Uniswap V4 the moment it is created, and all of its liquidity is locked permanently in an immutable contract that no party — Sando included — can withdraw from.
At a glance
| Robinhood Chain | BNB Smart Chain | X Layer | |
|---|---|---|---|
| Venue | Uniswap V4 | ||
| Paired with | USDG | USDT | USDT0 |
| Gas | ETH | BNB | OKB |
| Supply per chain | 1,000,000,000 — all minted into the pool at launch | ||
| Start valuation | $2,500 | ||
| Graduation | $45,000 valuation · ≈ $8k of stablecoins bought in · ~76% sold | ||
| Pool fee | 1%, shared between the protocol and the creator | ||
| Swap tax | 0–10% buy and sell, set by the creator at launch · shared between the creator and the protocol | ||
| Sniper tax | 99% in the launch second, decaying to 0% within 3 seconds | ||
| Token address | identical on every chain, always ends in …aaaa | ||
One address, every chain
Tokens are deployed with CREATE2 from a factory that itself lives at the same address on every chain (CREATE3 through CreateX). The token's constructor only takes arguments that are identical everywhere — name, symbol, image, description, links and the deployer — while the chain-specific wiring (which PoolManager, which stablecoin) is read back from the factory. Same init code, same salt, same factory: same address.
The salt is bound to the deployer: keccak(deployer, userSalt). Nobody else can claim your address on another chain, even if they copy every parameter. The frontend searches for a userSalt whose address ends in aaaa; the search starts at zero and is deterministic, so the same salt can be recomputed later from on-chain data when a token is extended to another chain.
Three supplies, no bridge
Each chain holds its own 1,000,000,000 supply and its own pool. Prices move independently with local demand. Nothing is bridged between them — the shared address is an identity, not a wrapped asset.
Launching
The default route is one direct transaction per chain: you sign once per chain, and the wallet is switched for you in between. You can also pick a single chain and extend to the others later from the token page.
LayerZero relay
If you only hold gas on one chain, the launch can be sent from there with a single transaction. The bridge contract launches locally and sends the same parameters through LayerZero to every other chain you picked; the executor calls the factory there roughly a minute later. The fee shown in the form covers delivery and the remote execution.
First buy
An optional first buy rides in the launch transaction: native coin → stablecoin on the chain's deepest V3 pool, then stablecoin → token on the fresh V4 pool. It is per chain, so you can seed one side and not the other. The first buy pays the creator tax like any other swap but is exempt from the sniper tax.
Curve and graduation
All supply is minted into a single one-sided concentrated-liquidity position starting at a $2,500 valuation with no upper bound. Because every chain pairs against a dollar stablecoin, the curve is the same in USD terms on each: the same amount of buying moves the price by the same amount.
A token graduates on a chain the first time its price reaches a $45,000 valuation. Getting there takes roughly $8,000 of stablecoins bought into the curve, at which point about 76% of the supply has been sold. The hook latches the flag on-chain and it never resets; the pool and its locked liquidity do not change.
Trading
Trades go through the Uniswap Universal Router in one transaction: ETH → USDG → token on Robinhood Chain, BNB → USDT → token on BSC, OKB → USDT0 → token on X Layer, and the reverse to sell. The stablecoin hop is a Uniswap V3 pool; the token hop is the V4 pool and pays the 1% pool fee plus the creator's swap tax. Any V4-aware router or aggregator can route the pool too — the hook only taxes, it never blocks a swap, and third parties may add liquidity alongside the locked position.
Swap tax and sniper tax
At launch the creator picks a buy and a sell tax, 0–10% each, fixed forever and identical on every chain. The pool's hook takes it from the output of each swap and parks it in the Locker, where it is shared between the creator and the protocol. On top of that every pool charges a sniper tax that starts at 99% in the launch second and halves roughly every 0.2 s, reaching 0% after 3 seconds. The sniper tax goes entirely to the protocol; the factory's own first buy is exempt.
Fees
The 1% pool fee accrues inside the locked position; the swap tax accrues in the Locker. Anyone can call claimFees for any token; one call collects both, shares the pool fee between the protocol and the creator, and pays each side its tax. The fee split is snapshotted when the position is locked, so a later change to the protocol share never touches existing tokens.
The creator share goes to the payout wallet given at launch (default: the deployer). Only the current payout wallet can redirect it later, per chain, with setFeeRedirect — the protocol owner cannot. If a payout wallet rejects a transfer (for example a blacklisted address), its share is parked in the Locker and can be pulled with withdrawOwed. There is no platform launch fee at the moment; if one is enabled it is shown in the form and paid with the launch.
Trust model
- Tokens are fixed-supply ERC-20s with no minting, pausing or admin functions.
- Liquidity is a V4 position owned by the Locker forever. Its only liquidity action is collecting fees; there is no withdrawal path.
- The hook has no owner and no setters. It only gates pool creation to the factory and takes the tax and sniper tax after each swap; it cannot block swaps, liquidity or transfers.
- No upgrades. Hook, Factory, Locker and Bridge are not proxies. A future version is a new deployment.
- Owner powers are limited to: the launch fee and switch, the curve parameters for future launches, the protocol fee recipient and shares for future locks, and the LayerZero peers. Nobody can change a creator's payout wallet but that wallet.
- Pre-created pools. The hook rejects any pool initialisation that does not come from the factory, so nobody can front-run a launch with a wrong starting price.
Contracts
Same address on Robinhood Chain (4663), BNB Smart Chain (56) and X Layer (196). Source is verified on each explorer. Every launched token is an EIP-1167 minimal proxy pointing at the verified token implementation, so its code is readable on the explorer the moment it is created.
| Hook | 0xB073cbEcB7D27107bC1FB39CADDEba7d08972044RobinhoodBSCX Layer |
| Factory | 0x17a465c2360D2bfbF04d104fCe004dE4c8Dd3795RobinhoodBSCX Layer |
| Locker | 0x278Ed9158fBECD6E079e76B350B29d34E291ee14RobinhoodBSCX Layer |
| Bridge | 0xc0c3a4947bDC44cc5623E340CF305918f9c74aB6RobinhoodBSCX Layer |
| Token implementation | 0x0B8350650d45E4D4a554e2d59Ef068867012202CRobinhoodBSCX Layer |