Search projects, hackathons, sponsors and tech

    ← All projects

    Yucarn

    Businesses receive/use stablecoins; individuals send to any chain, from any chain.

    Demo

    About

    Yucarn is a browser-based, multi-chain payment portal and merchant platform that makes USDC payments simple across blockchain networks. It allows users to pay recipients on different supported blockchains without manually bridging assets, switching networks, or managing destination-chain gas tokens. Yucarn currently supports 52+ EVM blockchains, with Solana and Sui planned for future support. For buyers, Yucarn provides a simple payment experience where the user focuses on the recipient, amount, and destination blockchain rather than the underlying blockchain infrastructure. Using Circle’s Cross-Chain Transfer Protocol (CCTP) V1/V2, Yucarn burns USDC on the source chain and enables official USDC to be minted on the recipient’s destination chain. Its background infrastructure handles the required network fees, removing the need for users to hold gas tokens on the destination blockchain. For businesses and merchants, Yucarn provides tools to accept and manage cross-chain USDC payments. Merchants can create shareable invoices containing unique, tiny sub-cent tracking amounts that allow incoming payments to be identified and matched automatically. Businesses can also manage payouts, select the blockchain where recipients should receive their funds, and use Yucarn to pay employees, freelancers, suppliers, and other recipients directly on their preferred supported network. The platform also includes business-focused infrastructure such as a merchant dashboard built with Next.js, a NestJS backend, and PostgreSQL. Team payroll can be settled directly on Arc Testnet, while Web3 domain registration through ENSv2 allows businesses and users to establish human-readable blockchain identities. Privy provides the authentication layer, giving users a familiar Web2-style login experience while interacting with Web3 payment infrastructure. At its core, Yucarn abstracts away the complexity of cross-chain payments while keeping the destination blockchain explicit. Instead of requiring users to understand bridges, liquidity routes, network switching, gas tokens, or cross-chain settlement, Yucarn handles the underlying infrastructure so users can simply choose who they are paying, how much they are paying, and which blockchain the recipient should receive the funds on. The goal is to make stablecoin payments feel as straightforward as modern internet payments while preserving the benefits of blockchain-based settlement.

    How it's made

    Yucarn is built as a monorepo containing three main applications: a React 18 + Vite 6 + TypeScript client payment app, a NestJS backend API and blockchain watcher, and a Next.js merchant dashboard. TailwindCSS is used across the frontend applications, with Wagmi/Viem and Reown AppKit handling EVM wallet connectivity and transaction interactions. Circle’s Bridge Kit (@circle-fin/bridge-kit) and CCTP power the cross-chain USDC payment flow, allowing users to pay recipients on another supported blockchain without manually bridging or switching networks. Yucarn dynamically calculates transfer fees and applies a 0.024 USDC mint adjustment so the recipient receives the exact requested amount. The backend uses NestJS, Prisma, and PostgreSQL for APIs, business logic, and persistent data. A custom ArcWatcherService continuously monitors USDC transfer events on Circle Arc Testnet (chain ID 5042002, CCTP domain 26), allowing Yucarn to automatically detect and confirm merchant invoice payments. Arc also serves as the core settlement layer for the business side of the platform, supporting merchant transactions and payroll flows. Privy provides authentication and wallet management. The frontend uses @privy-io/react-auth to support social login, passkeys, and embedded wallets, while @privy-io/server-auth validates authentication tokens on protected backend requests. ENS is integrated as Yucarn’s human-readable identity layer. Users can pay using ENS names instead of long wallet addresses, while businesses can use ENS names for payroll recipients and register .eth names and subdomains through ENSv2 Sepolia contracts. One of Yucarn’s notable implementation tricks is its tiny-amount invoice nonce system. Each invoice is assigned a unique sub-cent amount difference, such as $10.0001 or $10.0002. When a payment reaches Arc, the watcher uses this deterministic amount as a lightweight identifier to match the payment to the correct open invoice, avoiding the need for a dedicated payment smart contract. We also implemented ENS registration as a managed two-step flow. Because ENS requires a commitment followed by a waiting period before registration, the NestJS backend coordinates the process while the dashboard presents it as a simple user flow. Together, CCTP handles cross-chain USDC movement, Arc provides business settlement and on-chain event verification, Privy handles authentication and wallets, ENS provides human-readable identity, and the three-part monorepo ties the payment, merchant, and infrastructure layers together.