
SourceFi
Arc-powered non-custodial escrow layer built for SourceFi’s B2B trade orders during ETHOnline.
Demo
About
SourceFi is a live B2B marketplace connecting Nigerian construction builders with verified material suppliers, protected today by Circle’s custodial escrow. During ETHOnline 2026, we built an Arc-powered non-custodial escrow layer that extends SourceFi’s existing payment infrastructure with programmable on-chain settlement. A buyer funds an order in USDC on Arc; the smart contract holds the funds until the buyer confirms delivery, releasing the payment to the supplier, or a dispute is raised, which a platform arbiter resolves on-chain through either release or refund. An unaddressed order automatically releases to the supplier after 14 days, so buyer inaction cannot lock funds indefinitely. Dispute resolution today is informed by SourceFi’s existing live video-call and delivery-photo evidence between buyer and supplier. This is not a standalone demo. It is integrated into SourceFi’s real application and uses Privy’s embedded wallet with the same authentication system SourceFi already uses. The system has been verified end-to-end on Arc Testnet: fund → confirm → on-chain transfer and fund → dispute → confirmation blocked. Why blockchain, specifically? SourceFi deals with a fundamental trust problem: a buyer has to trust that their money will be held correctly, a supplier has to trust that payment will be released fairly, and both parties have to trust that the platform cannot quietly manipulate the settlement process. Blockchain gives us a stronger foundation for this. With the Arc smart contract, the rules for holding, releasing, refunding, and automatically releasing funds are enforced by code rather than by an internal database or a centralized payment administrator. Once funds are locked in the contract, SourceFi cannot simply edit a database record and move them somewhere else. Settlement actions are recorded on-chain and can be independently audited. This reduces the opportunity for fraud, unauthorized changes, or manipulation by a single party. It also creates a foundation for SourceFi to eventually make important trust signals, such as supplier reputation and transaction history, independently verifiable and resistant to retroactive alteration. What blockchain solves * Non-custodial settlement: SourceFi does not need to directly control locked buyer funds. * Programmable escrow: Release, refund, dispute, and timeout rules are enforced by smart-contract logic. * Tamper-resistant settlement history: Completed transactions and settlement events can be independently verified on-chain. * Reduced platform trust: Buyers and suppliers do not have to rely entirely on SourceFi’s backend to enforce the financial rules. * Future verifiable reputation: Supplier transaction history and reputation signals can potentially be anchored on-chain, making retroactive manipulation much harder. Dispute evidence today SourceFi already captures delivery photos and live video-call evidence between buyers and suppliers. These records are retained through the application and are used by the platform arbiter when resolving disputes. However, we are intentionally honest about the current limitation: this is an application-level rule, not yet a cryptographic guarantee of evidence integrity. The arbiter still has to determine whether the physical delivery actually occurred. What blockchain does not solve Blockchain cannot independently verify that physical construction materials were actually delivered. The current system therefore removes custodial and settlement risk, but not the need for trusted dispute resolution. The arbiter still reviews the available delivery evidence before making the on-chain resolution decision. We see this as an important distinction: blockchain provides credible guarantees about what happens to the funds once a decision is made, while the real-world delivery decision still requires an evidence and verification layer. Roadmap 1. Cryptographically anchor delivery evidence: Hash delivery photos and videos and anchor those hashes on-chain, allowing SourceFi to prove that evidence presented during a dispute has not been altered after submission. 2. On-chain supplier reputation: Build a verifiable reputation layer based on completed transactions, delivery outcomes, disputes, and other meaningful performance signals, making reputation history significantly harder to manipulate retroactively. 3. Cross-border settlement: Leverage Arc’s stablecoin and financial infrastructure to make settlement more efficient for Nigerian suppliers and international construction-material transactions. The goal is not to put every part of SourceFi on-chain. It is to use blockchain where verifiable rules, transparent settlement, and resistance to unilateral manipulation create real value for buyers and suppliers.
How it's made
SourceFiEscrow.sol (Solidity 0.8.24, OpenZeppelin’s SafeERC20 + ReentrancyGuard) is deployed to Arc Testnet at 0xd3a97B44C0D6DD006C29f71180938a5A4EE9B13D, with 4 passing Hardhat tests covering funding, confirmation, dispute-refund, and access control. The frontend runs inside SourceFi’s real Next.js/TypeScript app, using Privy’s embedded wallet — already SourceFi’s auth system — to sign every transaction client-side via viem. Three real infrastructure issues came up and got fixed: (1) Arc Testnet’s public RPC sends no CORS headers, confirmed against an open issue on Circle’s arc-node repo, worked around by routing through Alchemy’s Arc Testnet endpoint; (2) SourceFi’s existing CSP connect-src policy silently blocked that new RPC domain, fixed by extending the allowlist; (3) gas auto-estimation failed on Arc writes (“intrinsic gas too low”), fixed with explicit gas limits per call. Order IDs are derived via keccak256 of a string-prefixed identifier rather than an on-chain counter, keeping the contract simple while staying collision-resistant for this scale.