A production-ready Soroban smart contract suite, CLI, and indexer for deploying and managing SEP-41 compatible fungible tokens on Stellar — from zero to token in under 60 seconds.
soroban-token-factory removes all boilerplate from Stellar token creation.
It bundles a battle-tested on-chain factory contract, a developer CLI, a
real-time indexer, and an optional React dashboard into one cohesive toolkit.
Use cases:
- Launch a project token with configurable supply, decimals, and admin roles
- Batch-deploy tokens for testnet environments in CI pipelines
- Index all tokens deployed by a factory instance for explorer UIs
| Layer | Technology |
|---|---|
| Smart Contracts | Rust + Soroban SDK (v21) |
| Token Standard | SEP-41 (Stellar Token Interface) |
| CLI | Node.js 20 + Commander.js |
| Stellar Client | @stellar/stellar-sdk |
| Indexer | Node.js + Horizon REST API |
| Database | SQLite via Prisma ORM |
| Frontend | Next.js 14 + Tailwind CSS |
| Testing | Soroban testutils + Cargo test |
TokenFactory (deployer contract)
└── deploys → TokenTemplate (per-token contract)
├── initialize(name, symbol, decimals, admin)
├── mint(to, amount) [admin only]
├── burn(from, amount)
├── transfer(from, to, amount)
└── allowance / approve flows
This repository participates in the Drips Wave Program — earn crypto rewards by solving scoped issues in this repo.
Step 1 — Connect to Drips Go to drips.network and connect your Ethereum wallet. This is the wallet that will receive your bounty payouts.
Step 2 — Find This Project
Search for soroban-token-factory on the Drips platform, or use the link
in this repo's About section.
Step 3 — Browse Funded Issues Issues in this repo are tagged by complexity:
| Label | Complexity | Typical Reward Range |
|---|---|---|
drips:trivial |
Trivial | $10 – $50 |
drips:medium |
Medium | $51 – $200 |
drips:high |
High | $201 – $500+ |
Step 4 — Claim an Issue
Drop a /claim comment on the issue. The maintainer assigns it to you.
Only one contributor may hold a claim at a time.
Step 5 — Submit a PR
Reference the issue in your PR description (Closes #XX). Smart contract
changes must include updated tests. CLI changes must include updated help text.
Step 6 — Get Paid Payout is triggered on PR merge. Rewards stream to your wallet via the Drips protocol — trustlessly and automatically.
soroban-token-factory/
├── contracts/
│ ├── token_factory/ # Factory deployer contract (Rust/Soroban)
│ ├── token_template/ # SEP-41 token implementation (Rust/Soroban)
│ └── tests/ # Integration tests via soroban testutils
├── cli/
│ └── src/ # Commander.js CLI entrypoint & commands
├── indexer/
│ └── src/ # Horizon polling service + Prisma schema
├── frontend/
│ └── src/
│ ├── components/ # React UI: token list, deploy form
│ └── hooks/ # useStellarWallet, useFactoryTokens
├── scripts/ # Deploy scripts for testnet/mainnet
├── .github/
│ └── workflows/ # CI: cargo test, lint, CLI smoke tests
├── Cargo.toml # Rust workspace manifest
└── README.md
# Clone
git clone https://github.com/YOUR_ORG/soroban-token-factory.git
cd soroban-token-factory
# Build contracts
cargo build --target wasm32-unknown-unknown --release
# Run contract tests
cargo test
# Install CLI
cd cli && npm install && npm link
# Deploy a token to testnet
token-factory deploy \
--name "MyToken" --symbol "MTK" \
--decimals 7 --supply 1000000 \
--network testnetSee CONTRIBUTING.md. Contract PRs require test coverage above 90% for the changed logic path.
MIT © soroban-token-factory contributors