Seed Finance is a decentralized reverse factoring protocol for supply chain finance.
Seed Finance - Instant supplier financing powered by stablecoins
Seed Finance is a decentralized reverse factoring protocol built on ARC, Circle's blockchain designed for stablecoin finance. It solves a simple but costly problem: suppliers deliver goods today but wait 30–60 days to get paid.
The Solution - Seed Finance connects three participants on-chain:
An Operator (the protocol's backend) orchestrates the funding and repayment flows between all parties.
How It Works:
Supplier creates invoice ↓ Buyer approves invoice (on-chain commitment) ↓ Operator approves funding from the liquidity pool ↓ Supplier triggers funding after aproval and receives USDC instantly ↓ Buyer repays at maturity → flows back to LPs as yield
Here’s a clean, readable, well-structured version you can drop straight into a doc, Notion, or a pitch deck 👇
The supplier waits 60 days to receive 50,000 USDC.
During that time:
Result: Growth is stalled because working capital is frozen.
| Step | What Happens | Amount | | ---: | ----------------------------------------------------------- | --------------- | | 1 | Supplier submits a 50,000 USDC invoice (due in 60 days) | — | | 2 | Buyer approves on-chain: “I owe 50,000 USDC in 60 days” | — | | 3 | Operator triggers early payment from the liquidity pool | — | | 4 | Supplier receives funds immediately (minus fee) | 49,500 USDC | | 5 | Buyer repays full invoice at maturity (day 60) | 50,000 USDC |
This 500 USDC powers the entire protocol.
| Participant | Receives | Pays | Net Result | | ------------------ | --------------------- | -------------------- | --------------------------- | | Supplier | 49,500 USDC (day 0) | 500 USDC fee | Gets cash 60 days early | | Buyer | No change | 50,000 USDC (day 60) | Same terms, same cost | | Liquidity Pool | 50,000 USDC repayment | 49,500 USDC funded | +500 USDC profit |
Pays 1% to unlock capital 60 days early
~6% APR annualized
Cheaper than:
Predictable, instant cash flow
Deposits USDC → receives SEED share tokens
Example:
Each invoice earns 500 USDC
5,000 USDC earned in 60 days
≈ 5% in 60 days → ~30% APY
Key point: Yield is backed by real commercial invoices, not token emissions.
| Metric | Value | | ----------------------------- | ------------------ | | Pool Size | 500,000 USDC | | Invoices Financed / Month | 50 × 50,000 USDC | | Monthly Fee Revenue | 25,000 USDC | | LP Annual Yield | ~60% APY | | Supplier Savings vs Factoring | 50–70% cheaper |
Seed Finance unlocks working capital without banks, paperwork, or delays.
Everyone wins.
Architecture Overview Seed Finance is built across three layers: smart contracts, a TypeScript backend, and a Next.js frontend — all connected through Arc, Circle's L1 blockchain purpose-built for stablecoin finance.
Smart Contracts (Solidity 0.8.26 + Foundry) The invoice system uses the Diamond Pattern (EIP-2535), splitting logic into modular facets — InvoiceFacet, FundingFacet, RepaymentFacet, and ViewFacet — all behind a single proxy address. This lets us upgrade individual pieces without redeploying the whole system. The liquidity pool is an ERC-4626 tokenized vault where LPs deposit USDC and receive SEED share tokens. Yield distribution is automatic — as repayments flow in with fees, the share price increases, so LPs don't need to claim anything. We also built a TreasuryManager with a USYC strategy that routes idle capital into Hashnote's tokenized T-Bills, so even capital sitting in the pool earns yield while waiting to finance invoices.
Backend (TypeScript + ethers.js + Circle SDK) The operator backend orchestrates the full invoice lifecycle: indexing on-chain events, triggering funding when invoices are approved, and processing repayments at maturity. We integrated Circle's Developer-Controlled Wallets for secure key management and Circle Gateway for USDC on/off-ramping, so businesses can move between fiat and on-chain seamlessly without touching crypto directly.
Frontend (Next.js 14 + Wagmi + Viem + RainbowKit) The frontend provides role-based dashboards — suppliers create and track invoices, buyers review and approve them, LPs manage deposits and monitor yield, and operators oversee funding operations. We used Wagmi hooks for all contract reads/writes.
Why Arc? Building on Arc was a deliberate choice. USDC is the native gas token, so every transaction — creating invoices, approving them, funding suppliers — is paid in the same currency the protocol operates in. No ETH bridging, no token swaps, no gas abstraction hacks. For a trade finance protocol where everything is denominated in USDC, this removes an entire layer of friction. Arc's built-in compliance features also align with the regulated nature of supply chain finance.
Notable Hack USDC on Arc has a dual nature — 18 decimals as the native gas token but 6 decimals through the ERC-20 interface at address 0x360...000. We had to handle both representations carefully throughout the stack to avoid decimal mismatches between gas estimation and token transfers.

