Problem
Traditional invoice factoring is a cash-flow tax on SMEs. Suppliers wait 30-90 days for buyers to pay, while intermediaries take days to approve financing, charge opaque discounts, and leave weak audit trails - including double-financing risk from paper-based processes.
We set out to prove that receivables could be minted as first-class on-chain assets: tradeable at a transparent discount, settled with cryptographic attestations, and shippable to a production-viable standard under hackathon time pressure.
Solution
ChainInvoice (team SUInergy) turns supplier invoices into shared Sui objects with a verifiable lifecycle - Created → Ready → Financed → Paid - so suppliers get early liquidity and financiers earn short-duration yield backed by real receivables.
Sui's object model was a deliberate fit: each invoice is a living digital asset whose ownership, financing state, and settlement evidence evolve on-chain, rather than being reconstructed from account balances and event logs.
Actors & entities
| Actor | Responsibility |
|---|---|
| Supplier | Creates the on-chain invoice and receives discounted proceeds when a financier funds it |
| Financier | Browses the marketplace, funds Ready invoices at a discount, receives face value on settlement |
| Buyer | Deposits escrow collateral, then settles the financed invoice at maturity |
| Oracle / Verifier | Signs issuance and payment attestations - the trust bridge for off-chain payment confirmation |
| Platform admin | Operates treasury / fee configuration and governance surfaces |
Lifecycle
flowchart LR
Tokenize["1 Tokenize — Supplier mints Invoice"]
Collateralise["2 Collateralise — Buyer pays escrow, status Ready"]
Finance["3 Finance — Financier funds at discount, status Financed"]
Settle["4 Settle — Buyer / oracle pays, proceeds + fees"]
Tokenize --> Collateralise --> Finance --> Settle
- Tokenize - Supplier mints an
Invoicevia the factory; buyer info and document references stay hashed / off-chain where possible. - Collateralise - Buyer pays escrow so the invoice becomes Ready for the marketplace.
- Finance - Financier funds the invoice at
face_value * (1 - discount_bps); payment transfers to the supplier; status becomes Financed. - Settle - Buyer (or oracle-attested flow) pays the invoice; smart contracts distribute proceeds to the financier and collect platform fees into the treasury.
Approach
As team lead for four engineers, I owned end-to-end architecture and delivery across contracts, dApp surfaces, and the oracle trust model:
- Move contracts on Sui - modular packages for invoice factory, invoice state, buyer escrow, funding, settlement, registry, and treasury; deployed to the Sui testnet.
- Next.js dApp on Vercel - wallet-connected marketplace, business dashboard (issue + track invoices), investor dashboard (portfolio / financing), settlement flows, and admin treasury views; wired with Mysten dApp Kit.
- Hybrid trust model - keep PII and raw bank data off-chain; store hashes and authority signatures on-chain; use an oracle backend for issuance and payment attestations.
- Fee-aware financing - transparent discount rates in basis points, with platform origination / take-rate / settlement fee concepts aligned to a multi-sided marketplace model.
Stack
| Layer | Choices |
|---|---|
| On-chain | Sui, Move |
| App | Next.js, TypeScript, Tailwind, wallet kit |
| Off-chain | Oracle signing API routes, document hash / IPFS-ready storage |
| Deploy | Sui testnet + Vercel |
What shipped
In three days we delivered a working MVP, not a slide deck:
- Shared invoice objects with status transitions enforced in Move
- Marketplace listing and finance modal for Ready invoices
- Business and investor dashboards against live chain state
- Escrow + funding + settlement paths with treasury fee collection
- Product narrative (how-it-works, pitch) matching the on-chain model
Outcome
1st place - DeFi track and Best Business Model at the Sui Foundation * Comets of Web3 hackathon. The build validated that RWA-style invoice factoring can be expressed cleanly on Sui's object-centric model under extreme time pressure - with a live demo on testnet and an auditable contract surface.
