Instant, gasless payments for freelancers via state channels. Pay by ENS, settle on any chain.
FreelancePay solves the broken payment experience for freelancers. Traditional payment methods charge 3-8% in fees and take 3-7 days to settle. FreelancePay uses Yellow Network state channels to enable instant, gasless payments denominated in USDC.
How it works:
The result: only 2 on-chain transactions (deposit + settlement) instead of one per payment, saving freelancers significant time and money.
Tech stack: Next.js 14, TypeScript, wagmi, RainbowKit, @erc7824/nitrolite SDK, ENS text records, Circle CCTP, Tailwind CSS. Deployed on Ethereum Sepolia testnet.
FreelancePay is built with Next.js 14 and TypeScript as the frontend framework, using wagmi v2 and RainbowKit for wallet connectivity. Yellow Network Integration: We use the @erc7824/nitrolite SDK to create state channels for instant off-chain payments. The SDK's createAppSessionMessage and createCloseAppSessionMessage functions handle session lifecycle, while payments are processed as signed state updates over WebSocket connections to Yellow's ClearNode. ENS Integration: We wrote custom hooks (useENSProfile, useEnsAddress with chainId for Sepolia) beyond RainbowKit's default ENS support. Freelancer profiles (rate, services, preferred chain, availability) are stored as custom ENS text records with the com.freelancepay prefix. Name resolution works on Sepolia testnet. Circle Arc Integration: USDC settlement uses Circle's CCTP for crosschain bridging. When a payment session closes, funds are bridged from the state channel to the freelancer's preferred chain (Ethereum, Polygon, Arbitrum, Base, or Arc). The architecture separates concerns into three layers: Identity (ENS), Payments (Yellow Network state channels), and Settlement (Circle Arc). This modular approach allows each component to be upgraded independently.

