On-chain logic for SmartDrop targets Soroban smart contracts written in Rust on the Stellar network.
- A factory contract deploys or registers isolated farming pool instances per campaign.
- Pools accept Stellar assets (classic or token contracts) for locks; participants accrue airdrop credits over time from locked amount × duration × configurable rates.
- Use the Stellar Asset Contract (SAC) or Soroban token interfaces for trustline-style or contract-held balances, per your issuance model.
- Soroban CLI (
stellar/soroban) - Rust +
soroban-sdkfor contract code - Deploy to Futurenet or Testnet, then set
NEXT_PUBLIC_FACTORY_CONTRACT_IDandNEXT_PUBLIC_SOROBAN_RPC_URLin the Next.js app
Contract sources are not checked in yet; add a contracts/ Rust crate here when you scaffold with stellar contract init and wire the front end to invoke / simulation responses.
The vesting-wallet contract is deployed independently from the factory. Its
initialize entry point cannot identify the account that deployed the wallet,
so the first valid initializer permanently controls the resulting schedule.
Deployment tooling must batch deployment and initialization in one atomic
Stellar transaction. Do not expose an uninitialized wallet between those
operations or submit them as separate transactions.