Turn unpaid invoices into instant liquidity on-chain, on Stellar.
Invoice Liquidity Network (ILN) is an open-source, decentralised invoice factoring protocol built on Stellar using Soroban smart contracts. Freelancers, creators, and SMEs unlock the value of outstanding invoices immediately, while DeFi liquidity providers earn yield by funding them at a discount.
No banks. No credit checks. No 60-day waits.
| Repository | Description | Language |
|---|---|---|
| Invoice-Liquidity-Network | This repo - org overview, shared docs, SDK, CLI, indexer, notifications | TypeScript |
| ILN-Frontend | Next.js dApp - freelancer dashboard, LP analytics, governance UI | TypeScript |
| ILN-Smart-Contract | Soroban smart contracts -invoice lifecycle, multi-token, reputation | Rust |
Freelancer ILN Contract Liquidity Provider
| | |
|--- submit_invoice() ------>| |
| (amount, payer, | |
| due_date, discount) | |
| |<--- fund_invoice() --------|
| | (sends USDC at |
|<-- receives USDC ------- | discounted amount) |
| (amount - discount) | |
| | |
... invoice due date ... |
| | |
Payer --- mark_paid() -------->| |
|--- releases full amount -->|
(LP earns the spread)
- Submit — A freelancer calls
submit_invoice()with amount, payer, due date, and discount rate - Fund — A liquidity provider calls
fund_invoice(), sending USDC. The freelancer receives funds immediately - Pay — The payer settles the invoice, releasing the full amount to the LP
- Earn — The LP earns the discount spread as yield
| Contract | Contract ID |
|---|---|
| ILN-Distribution | CAQGPMT3EQK4AABMIR66JJXEOCNCLPTDNXMS5OHZXH4LI24UYAF25V5B |
| Invoice-Liquidity | CCPASLHKRFBMVV5PZG3LKDGKFEDXZMB5U7DK42CVLUVWCMUCSRPVBIMO |
| ILN-Governance | CD7GOIU3GNK7EZHG7XWBC7VI4NRVGMRCU7X2FOCAPQN6EGTSW46BY4EB |
Mainnet deployment coming after audit. Do not use with real funds until then.
This is the organisation root — it contains shared infrastructure used across all ILN sub-projects:
A typed JavaScript/TypeScript SDK with browser Freighter signing and Node.js keypair support.
npm install @invoice-liquidity/sdkSee sdk/README.md for full API documentation.
A command-line tool for interacting with the ILN contract on testnet and mainnet.
npm install -g @invoice-liquidity/cliiln submit --payer G... --amount 100 --due 2025-12-31 --rate 300
iln fund --id 1
iln pay --id 1
iln status --id 1See cli/README.md for setup and usage.
A Node.js service that indexes contract events and exposes a REST API for the frontend.
A webhook-based notification service for invoice lifecycle events.
See docs/notifications.md for setup.
Deployment and development helper scripts.
| Script | Purpose |
|---|---|
scripts/deploy.ts |
Deploy contract to testnet/mainnet |
scripts/fund-wallets.sh |
Fund testnet wallets via Friendbot |
scripts/seed.sh |
Seed test data |
scripts/dev-setup.sh |
Set up a local dev environment |
.
├── cli/ # CLI package (@invoice-liquidity/cli)
├── docs/ # Shared protocol documentation
├── indexer/ # On-chain event indexer service
├── notifications/ # Webhook notification service
├── scripts/ # Deployment & dev scripts
├── sdk/ # TypeScript SDK (@invoice-liquidity/sdk)
├── tests/ # E2E integration tests
├── .github/workflows/ # CI/CD pipelines
├── docker-compose.yml # Local dev environment
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
└── README.md # You are here
Frontend and Smart Contract source code lives in their own dedicated repositories (linked above as git submodules).
- Node.js 18+
- Rust 1.74+
- Stellar CLI
- Docker (for E2E tests)
git clone --recurse-submodules https://github.com/Invoice-Liquidity-Network/Invoice-Liquidity-Network.git
cd Invoice-Liquidity-Network
# Or if already cloned:
git submodule update --init --recursivedocker-compose up -d # Start local Stellar node
npm run test:e2e # Run E2E integration tests- Core Soroban contract (submit, fund, mark_paid)
- Testnet deployment
- Frontend dApp for freelancers
- LP dashboard with yield analytics
- TypeScript SDK + CLI
- Multi-token support (USDC, EURC, XLM)
- Off-chain payer verification oracle
- Formal security audit
- Mainnet deployment
- DAO governance for protocol parameters
| Doc | Description |
|---|---|
docs/index.md |
Protocol overview |
docs/governance.md |
Governance guide |
docs/multi-token.md |
Multi-token support |
docs/notifications.md |
Notification system |
docs/local-development.md |
Local dev setup |
CONTRIBUTING.md |
How to contribute |
SECURITY.md |
Security policy |
We welcome contributions of all kinds — smart contract improvements, documentation, frontend, tests, and research.
See CONTRIBUTING.md for the full process.
MIT — see LICENSE