Modular payment infrastructure for the Stellar ecosystem β recurring payments, split billing, and payment links powered by Soroban smart contracts.
License: MIT Built on Stellar Soroban TypeScript Rust
Flowlance is an open-source, developer-first payment toolkit built on Stellar and Soroban. It gives any application the building blocks to implement:
- π Recurring Payments β on-chain subscriptions and scheduled transfers
- βοΈ Split Payments β split bills, salaries, or revenues across multiple wallets
- π Payment Links β shareable, one-click USDC payment requests
- π Dashboard β a React/Next.js UI to manage and track all payment flows
Think of it as Stripe-like payment primitives, but fully decentralized on Stellar.
The Stellar ecosystem has excellent infrastructure for transfers and asset issuance, but lacks composable, reusable payment patterns that developers can drop into their apps. Flowlance fills that gap by providing:
- Smart contracts (Rust/Soroban) for the core payment logic
- A TypeScript SDK for easy frontend and backend integration
- An open-source dashboard so any project can self-host their payment management UI
Whether you're building a freelance platform, a payroll system, a subscription SaaS, or a group expense app β Flowlance gives you the infrastructure layer you need.
flowlance/
βββ contracts/ # Rust / Soroban smart contracts
β βββ recurring/ # Subscription & scheduled payment logic
β βββ split/ # Multi-recipient payment splitting
β βββ payment-link/ # One-time & reusable payment links
β
βββ sdk/ # TypeScript SDK (npm package)
β βββ src/
β β βββ recurring.ts # RecurringPayment client
β β βββ split.ts # SplitPayment client
β β βββ payment-link.ts # PaymentLink client
β β βββ index.ts
β βββ package.json
β
βββ dashboard/ # Next.js frontend
β βββ app/
β β βββ payments/ # Payment history & management
β β βββ subscriptions/ # Recurring payment management
β β βββ links/ # Payment link generator
β βββ package.json
β
βββ docs/ # Documentation
Create on-chain subscriptions where USDC is automatically transferred on a defined schedule (weekly, monthly, etc.). Built with Soroban smart contracts β no centralized cron job required.
import { FlowlanceClient } from '@flowlance/sdk';
const client = new FlowlanceClient({ network: 'testnet' });
const subscription = await client.recurring.create({
recipient: 'GXXXXXXX...',
amount: '50', // 50 USDC
interval: 'monthly',
startDate: new Date(),
});Define a list of recipients with percentage or fixed-amount splits. A single transaction distributes funds across all parties atomically.
const split = await client.split.create({
recipients: [
{ address: 'GAAA...', share: 60 }, // 60%
{ address: 'GBBB...', share: 25 }, // 25%
{ address: 'GCCC...', share: 15 }, // 15%
],
totalAmount: '1000', // 1000 USDC
memo: 'Q2 Revenue Split',
});Generate a shareable URL (or QR code) that pre-fills a Stellar payment. Perfect for invoices, donations, or checkout flows.
const link = await client.paymentLink.create({
recipient: 'GDDD...',
amount: '250',
memo: 'Invoice #1042',
expiresAt: '2026-06-01',
});
console.log(link.url); // https://pay.flowlance.xyz/l/abc123- Rust (1.75+) with
wasm32-unknown-unknowntarget - Stellar CLI (
stellar) - Node.js 18+
git clone https://github.com/YOUR_USERNAME/flowlance.git
cd flowlancecd contracts
cargo build --target wasm32-unknown-unknown --releasestellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/recurring.wasm \
--network testnet \
--source YOUR_SECRET_KEYcd sdk
npm install
npm run buildcd dashboard
npm install
npm run dev
# Open http://localhost:3000| Method | Description |
|---|---|
recurring.create(params) |
Create a new recurring payment |
recurring.cancel(id) |
Cancel an active subscription |
recurring.list(address) |
List all subscriptions for an address |
split.create(params) |
Create a split payment |
split.execute(id) |
Execute a pending split |
paymentLink.create(params) |
Generate a payment link |
paymentLink.resolve(linkId) |
Fetch payment link details |
Full SDK documentation: docs/sdk.md
All contracts are written in Rust and deployed on Stellar's Soroban smart contract platform.
| Contract | Description | Status |
|---|---|---|
recurring |
Manages subscriptions and scheduled transfers | β Implemented |
split |
Handles multi-recipient atomic splits | β Implemented |
payment-link |
Stores and validates payment link metadata | β Implemented |
Flowlance is part of the Stellar Wave Program on Drips β a monthly open-source contribution cycle where contributors Fix, Merge, and Earn rewards.
- Browse open issues tagged for the current Wave
- Comment on an issue to apply
- Fork the repo, create a branch, and submit a PR
- Earn Points that convert to real USDC rewards π
Look for issues tagged good first issue β these are scoped, well-documented tasks perfect for new contributors.
- All Soroban contracts must include unit tests
- TypeScript code must pass
tscwith no errors - PRs must include a brief description of what was changed and why
- Follow the Stellar Contribution Guide
- Project scaffold & repo setup
RecurringPaymentSoroban contractSplitPaymentSoroban contractPaymentLinkSoroban contract- TypeScript SDK v0.1
- Next.js dashboard v0.1
- Stellar Testnet deployment scripts
- SDK npm package publish
- Mainnet deployment
- Audit
Flowlance uses USDC on the Stellar network as the primary payment token. Testnet deployments use Stellar's Friendbot for funding.
| Network | Status |
|---|---|
| Stellar Testnet | β Supported |
| Stellar Mainnet | π Coming soon |
MIT Β© [Your Name] β see LICENSE for details.
- π Stellar Developer Docs
- π§ Soroban Smart Contracts
- π§ Drips Wave Program
- π¬ Discord