
Vectra
Vectra turns complex group debts into fewer, smarter USDC settlements on Arc.
Demo
About
Vectra is a simple group treasury and USDC settlement system built on the Arc Testnet. It changes how people handle shared expenses from basic “who owes whom” records to official settlement intents that are secure and authorized. In traditional expense-splitting apps, users can log expenses and calculate who owes what, but settling those amounts is still manual. People need to decide who pays whom, start several transfers, and check if everyone has paid. Vectra simplifies this by managing that final settlement step. Users can create or join a group, track shared expenses, and Vectra then calculates the net amounts each member owes or is owed. Instead of making individual payments right away, the backend creates a structured settlement intent. This intent includes the group ID, nonce, deadline, and clear transfer instructions. An authorized coordinator signs this intent using EIP-712 typed data. The signed intent is sent to the VectraTreasury smart contract on the Arc Testnet. The contract checks if the coordinator is authorized, ensures the deadline is valid, and verifies details to prevent replay attacks. It then processes the necessary USDC transfers all at once. This means the settlement either happens as authorized or fails, preventing partially completed payments. Vectra also uses an off-chain PostgreSQL database to manage groups, memberships, expenses, settlements, authentication sessions, and settlement status. After a blockchain transaction is submitted, the backend checks the transaction and the events from the contract before marking the settlement as complete. This keeps application status separate from blockchain actions while ensuring financial execution is clear and verifiable on-chain. The system uses wallet authentication, EIP-712 signatures, nonce-based protections, deadline enforcement, SafeERC20 transfers, and database-level protections for uniqueness and concurrency. The process looks like this: Shared Expenses → Net Obligations → Settlement Intent → EIP-712 Authorization → Arc Transaction → Atomic USDC Settlement → On-chain Verification. In summary, Vectra is more than just an expense splitter. It shows how stablecoins and blockchain transaction intents can act as a reliable settlement layer for shared expenses, with Arc providing the necessary execution environment and USDC serving as a stable payment method.
How it's made
Vectra is a full-stack Web3 application built around Arc Testnet as the on-chain settlement layer, with Next.js/React on the frontend, an Express/TypeScript backend, PostgreSQL/Prisma for application state, and Solidity smart contracts for programmable USDC settlement. The frontend uses Next.js, TypeScript, Tailwind, wagmi, and viem for wallet connection, EIP-712 signing, contract interaction, and transaction tracking. The backend manages groups, members, expenses, authentication, and settlement intents using Express, Prisma, and PostgreSQL. The core of Vectra is the settlement-intent flow on Arc. Instead of simply calculating balances, the backend converts a group's expenses into optimized net obligations and creates a structured intent containing the group ID, nonce, deadline, and exact USDC transfers. The authorized coordinator signs this intent using EIP-712 typed data. The signed intent is then executed by our VectraTreasury Solidity contract deployed on Arc Testnet. The contract verifies the EIP-712 signature, deadline, and per-group nonce before executing the required USDC transfers atomically. OpenZeppelin EIP712/ECDSA utilities provide signature verification, while SafeERC20 is used for secure token transfers. Nonces prevent replay attacks, and deadlines prevent stale settlement intents from being executed. Arc is therefore not just the deployment environment; it is the execution and settlement layer of Vectra. We use Arc's EVM compatibility to deploy our Solidity treasury contract and its blockchain execution to make the final USDC movement verifiable and programmable. USDC provides the stable settlement asset, while Arc provides the on-chain infrastructure where the authorized settlement intent becomes an actual financial transaction. A key design choice is that Vectra does not blindly trust a successful transaction response. After the settlement is submitted to Arc, the backend independently verifies the transaction and the smart contract's emitted events before marking the settlement as completed in PostgreSQL. This keeps the Web2 application state synchronized with the actual on-chain settlement. The complete architecture is: Expenses → Net obligations → EIP-712 settlement intent → Arc smart contract → Atomic USDC settlement → On-chain verification → Finalized application state. The notable part is turning an ordinary expense-splitting calculation into a cryptographically authorized, programmable settlement intent that is actually executed and verified on Arc.