Skip to content

Repository files navigation

Morrow - receivables credit market on Arc

Morrow

Receivables credit, rebuilt for stablecoin settlement.

Live demo Arc Testnet Verified contract USDC settlement Circle wallets MIT license

Morrow lets a business turn a buyer-accepted invoice into immediate USDC. The business creates a receivable, the buyer confirms the payment obligation, lenders compete to fund it, and repayment settles through an onchain waterfall.

This is an Arc Testnet MVP. It is not a production lending product, investment product, broker, lender, credit underwriter, or mainnet protocol.

Final Submission Links

Item Link
Live app morrow.nikhilraikwar.me
Public market morrow.nikhilraikwar.me/market
Demo video YouTube demo
Team video Nikhil Raikwar introduction
Pitch deck Google Slides
Verified contract Arcscan

Why Morrow

Receivables financing is one of the oldest forms of working capital, but the workflow is still slow: private quotes, manual verification, delayed bank settlement, and reconciliation after payment.

Stablecoin-native infrastructure changes the shape of the product:

  • invoices can become programmable payment obligations;
  • funding can clear through transparent lender competition;
  • escrow, repayment, fees, refunds, and claims can be enforced by contract state;
  • businesses, buyers, and lenders can all settle in one money layer.

Market Context

  • The global factoring services market is projected at $4.72T in 2026 and $7.77T by 2034. Fortune Business Insights
  • Cross-border B2B stablecoin transactions are projected to grow from $13.4B in 2026 to $5T by 2035. Juniper Research
  • Circle reports $72.3B USDC in circulation as of July 27, 2026. Circle

Morrow sits at the intersection of those three shifts: invoice finance, stablecoin settlement, and programmable credit markets.

Product Flow

Receivable Funding Flow

%%{init: {"theme":"base","flowchart":{"htmlLabels":false,"nodeSpacing":80,"rankSpacing":80,"padding":24},"themeVariables":{"fontFamily":"Arial","fontSize":"18px","primaryTextColor":"#0f172a","lineColor":"#64748b"}}}%%
flowchart TD
  A["1. Create receivable"]:::blue
  B["2. Buyer accepts"]:::blue
  C["3. Open auction"]:::yellow
  D["4. Lowest APR bids fill"]:::purple
  E["5. USDC advance released"]:::green
  F["6. Buyer repays USDC"]:::green
  G["7. Waterfall settles"]:::green

  A -->|"seller, buyer, amount, due date"| B
  B -->|"confirmed obligation"| C
  C -->|"lenders bid USDC"| D
  D -->|"winning bids selected"| E
  E -->|"business gets working capital"| F
  F -->|"repayment enters vault"| G

  classDef blue fill:#dbeafe,stroke:#2563eb,color:#0f172a,stroke-width:2px;
  classDef yellow fill:#fef3c7,stroke:#d97706,color:#111827,stroke-width:2px;
  classDef purple fill:#e0e7ff,stroke:#4f46e5,color:#111827,stroke-width:2px;
  classDef green fill:#dcfce7,stroke:#16a34a,color:#052e16,stroke-width:2px;
Loading

Receivable State Machine

%%{init: {"theme":"base","flowchart":{"htmlLabels":false,"nodeSpacing":90,"rankSpacing":90,"padding":24},"themeVariables":{"fontFamily":"Arial","fontSize":"18px","primaryTextColor":"#0f172a","lineColor":"#64748b"}}}%%
flowchart TD
  start(["Created"]):::start
  awaiting["Awaiting"]:::state
  accepted["Accepted"]:::state
  live["Auction"]:::state
  funded["Funded"]:::state
  partial["Partial repay"]:::state
  settled["Settled"]:::done
  cancelled["Cancelled"]:::stop

  start --> awaiting --> accepted --> live --> funded
  funded --> partial --> settled
  funded --> settled
  awaiting -.-> cancelled
  live -.-> cancelled

  classDef start fill:#f8fafc,stroke:#475569,color:#0f172a,stroke-width:2px;
  classDef state fill:#dbeafe,stroke:#2563eb,color:#0f172a,stroke-width:2px;
  classDef done fill:#dcfce7,stroke:#16a34a,color:#052e16,stroke-width:2px;
  classDef stop fill:#fee2e2,stroke:#dc2626,color:#7f1d1d,stroke-width:2px;
Loading

Why Arc and Circle

Morrow is built around Arc and USDC rather than adding stablecoins as an afterthought.

Layer How Morrow uses it
Arc Testnet Contract state, public market reads, transaction proofs, USDC-denominated gas
Arc USDC ERC-20 interface for approvals, escrow, bids, repayments, fees, and claims
Circle Wallets Google social login and user-controlled wallet approvals
Circle challenges Explicit user confirmation for each contract action
Arcscan Public proof for contract, deployment, and transaction history

Arc docs define Arc Testnet as chain ID 5042002, RPC https://rpc.testnet.arc.io, and explorer https://testnet.arcscan.app. Arc USDC has one underlying balance with a native gas interface and an ERC-20 interface at 0x3600000000000000000000000000000000000000.

Live Deployment

Item Value
App morrow.nikhilraikwar.me
Public market morrow.nikhilraikwar.me/market
Demo video YouTube
Team video YouTube
Presentation Google Slides
Network Arc Testnet
Chain ID 5042002
Contract 0xB871Cc4Ee16Ae7A1FD1925d36Bbd714A64755e6D
Deployment tx 0xac94f5841769b13a59c1ad974b95bf3e5536cc3b73906bbd0688ff0ce282ac2e
USDC 0x3600000000000000000000000000000000000000

What Works

  • Public, walletless market page backed by Arc reads.
  • Circle social login for user-controlled wallets.
  • Connected workspaces for business, buyer, and lender flows.
  • Contract-backed receivable lifecycle.
  • USDC approval, bidding, repayment, refund, and settlement actions through allowlisted Circle challenges.
  • Arcscan links for onchain proof.

Security Boundary

Morrow never asks for a seed phrase or private key. The browser requests named actions only. The server maps those actions to fixed contract addresses and ABI functions before creating Circle challenges.

Secrets stay server-side:

  • Circle API key
  • Circle entity secret
  • Circle refresh tokens
  • deployer private key

See SECURITY.md for the threat model, Arc/Circle handling, and MVP limits.

Local Development

npm install
npm run dev

Contract tests:

cd contracts
.\tools\foundry\forge.exe test -vv

Required public Arc configuration:

VITE_MORROW_MODE=arc
VITE_ARC_RPC_URL=https://rpc.testnet.arc.io
VITE_ARC_CHAIN_ID=5042002
VITE_MORROW_MARKET_ADDRESS=0xB871Cc4Ee16Ae7A1FD1925d36Bbd714A64755e6D

Circle credentials must stay server-side and must not use VITE_ prefixes.

License

MIT. Built by Nikhil Raikwar.

About

Morrow is a stablecoin-native receivables credit market built for Arc. Businesses sell buyer-accepted invoices to lenders for immediate USDC, lenders compete in open auctions to fund them, and the buyer's eventual payment repays everyone through a programmable settlement waterfall.

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages