Real World Assets on Stellar. Invoice financing for emerging markets.
Astera lets SMEs tokenize unpaid invoices as Soroban-based RWA tokens. Community investors fund a USDC liquidity pool. Smart contracts handle escrow, repayment, and yield distribution. Every paid invoice builds an on-chain credit history.
contracts/
invoice/ — RWA invoice token contract (Soroban/Rust)
pool/ — Liquidity pool + yield distribution (Soroban/Rust)
frontend/ — Next.js 14 app (Freighter wallet, Stellar SDK)
create_invoice— SME mints an invoice token with amount, debtor, due datemark_funded— Called by pool when invoice is fundedmark_paid— SME or pool marks invoice as repaidmark_defaulted— Pool flags missed repayment
initialize— Sets admin, first accepted stablecoin (initial_token), and invoice contractadd_token/remove_token— Admin maintains a whitelist of accepted stablecoin SAC addressesdeposit— Investor deposits a whitelisted stablecoin into the pool (positions are per token)init_co_funding— Admin opens an invoice for co-funding in a specific stablecoincommit_to_invoice— Investors commit available balance in that invoice’s token until the principal target is metrepay_invoice— SME repays principal + simple interest (8% APY default) in the same token the invoice was funded withwithdraw— Investor withdraws available (undeployed) balance in the chosen token
We provide a one-command setup using Docker Compose that spins up the Stellar local network, the Next.js frontend, a contracts development environment, and mock services.
docker-compose up -dAfter running this command:
- Frontend is available at http://localhost:3000
- Stellar RPC is available at http://localhost:8000
- Mock Services are available at http://localhost:4000
- Rust + Cargo
- Stellar CLI
- Node.js 20+
- Freighter wallet browser extension
cd astera
cargo build --target wasm32-unknown-unknown --release# Fund a testnet account
stellar keys generate --global deployer --network testnet
stellar keys fund deployer --network testnet
# Deploy invoice contract
stellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/invoice.wasm \
--source deployer \
--network testnet
# Deploy pool contract
stellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/pool.wasm \
--source deployer \
--network testnet# Initialize invoice contract
stellar contract invoke \
--id <INVOICE_CONTRACT_ID> \
--source deployer \
--network testnet \
-- initialize \
--admin <YOUR_ADDRESS> \
--pool <POOL_CONTRACT_ID>
# Initialize pool contract
stellar contract invoke \
--id <POOL_CONTRACT_ID> \
--source deployer \
--network testnet \
-- initialize \
--admin <YOUR_ADDRESS> \
--usdc_token <USDC_TOKEN_ID> \
--invoice_contract <INVOICE_CONTRACT_ID>cd frontend
cp .env.example .env.local
# Fill in contract IDs in .env.local
npm install
npm run devOpen http://localhost:3000.
- Connect Freighter wallet
- Go to New Invoice — fill debtor, amount, due date
- Sign transaction — invoice minted on Stellar
- Monitor status on Dashboard — see funding, credit score
- When customer pays, call
repay_invoiceto settle
- Connect Freighter wallet
- Go to Invest — choose a whitelisted stablecoin and deposit into the pool
- Pool admin deploys liquidity to approved invoices
- When invoices are repaid, yield accumulates in the pool
- Withdraw available balance anytime
Use the Stellar testnet USDC asset or deploy a mock token:
stellar contract invoke \
--id <TOKEN_ID> \
--source deployer \
--network testnet \
-- mint \
--to <YOUR_ADDRESS> \
--amount 1000000000000For development and testing, see the Testnet Deployment Guide for step-by-step instructions.
For production deployment, see the comprehensive Mainnet Deployment Guide which includes:
- Pre-deployment security checklist
- Contract verification procedures
- Monitoring and alerting setup
- Rollback and emergency procedures
- Post-deployment verification steps
- RPC: https://soroban-testnet.stellar.org
- Horizon: https://horizon-testnet.stellar.org
- Explorer: https://stellar.expert/explorer/testnet
- RPC: https://soroban-mainnet.stellar.org
- Horizon: https://horizon.stellar.org
- Explorer: https://stellar.expert/explorer/public