Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
ProofPay — secure P2P USDC escrow on Arc Testnet.
Translation pending
FinanceSolidity · JavaScriptGitHub @24hlivepayOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Secure P2P USDC escrow on Arc Testnet
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Secure peer-to-peer USDC escrow on Arc Testnet.
ProofPay is currently a public testnet MVP. It does not handle real funds and has not been audited.
Peer-to-peer online deals often force one side to take the risk first: the buyer pays before delivery, or the seller delivers before payment. ProofPay replaces that trust gap with a transparent escrow flow where test USDC is held by a smart contract and released only after the seller confirms delivery and the buyer approves payment.
The public Arc Testnet MVP supports the complete escrow lifecycle:Read the full README ↗Secure peer-to-peer USDC escrow on Arc Testnet.
Live app · Smart contract · Deployment transaction
ProofPay is currently a public testnet MVP. It does not handle real funds and has not been audited.
Peer-to-peer online deals often force one side to take the risk first: the buyer pays before delivery, or the seller delivers before payment. ProofPay replaces that trust gap with a transparent escrow flow where test USDC is held by a smart contract and released only after the seller confirms delivery and the buyer approves payment.
The public Arc Testnet MVP supports the complete escrow lifecycle:
The web app also includes pending, active, completed, cancelled, and rejected order states; persistent off-chain order metadata; transaction links to Arcscan; Circle email wallets; and MetaMask and Rabby support. Developer-led testing is complete and public testnet testing is ongoing.
Buyer / Seller
│
▼
React + Vite frontend
│
├──────── ethers.js ────────► ProofPayEscrow.sol
│ │
│ └── Arc Testnet USDC
│
└──────── REST API ─────────► Express backend
│
└── Neon Postgres
| Item | Value |
|---|---|
| Network | Arc Testnet |
| Chain ID | 5042002 |
| ProofPay escrow | 0xCd0f43E573899809ff96C560439570A760698C9a |
| Test USDC | 0x3600000000000000000000000000000000000000 |
| EURC | 0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a |
| cirBTC | 0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF |
| ProofPay USDC Escrow | 0xCd0f43E573899809ff96C560439570A760698C9a |
| ProofPay EURC Escrow | 0xa4322D8ba3E040A3028FD6ABaC3c6a5625ed4ca7 |
| ProofPay cirBTC Escrow | 0x8bfeD6F70Eb595946543b192b6E63d75A0bBEf4B |
The contract uses SafeERC20, ReentrancyGuard, participant-only state transitions, and an owner-controlled dispute resolution path.
contracts/ Solidity escrow contract
scripts/ Hardhat deployment script
foundry/ Foundry deployment and test workspace
frontend/ React/Vite web application
backend/ Express API and database integration
vercel.json Multi-service production configuration
docs/ Configuration and judge-testing guides
submission/ Final form copy and presentation artifacts
Use the same deployer account that owns the existing USDC escrow. Keep the private key in an encrypted Foundry keystore; do not commit it to the project.
cast wallet import proofpay-deployer --interactive
forge script script/DeployAssetEscrows.s.sol:DeployAssetEscrows \
--root foundry \
--rpc-url arc \
--account proofpay-deployer \
--broadcast
Copy the two resulting addresses into frontend/.env as
VITE_EURC_ESCROW_ADDRESS and VITE_CIRBTC_ESCROW_ADDRESS.
npm install
npm --prefix frontend install
npm --prefix backend install
cp backend/.env.example backend/.env
Set at minimum:
PORT=5001
FRONTEND_URL=http://localhost:5173
DATABASE_URL=your_neon_postgres_connection_string
CIRCLE_API_KEY=your_circle_standard_api_key
The Circle API key stays on the backend and is required for email OTP and user-controlled wallet creation.
cp frontend/.env.example frontend/.env
For local development:
VITE_API_URL=http://localhost:5001/api
VITE_CIRCLE_APP_ID=your_circle_user_controlled_wallet_app_id
Email authentication must also be enabled and configured under Wallets → User Controlled → Configurator → Email in the Circle Developer Console.
npm --prefix backend run dev
npm --prefix frontend run dev
Run the complete local readiness check from the repository root:
npm run validate
This runs frontend lint, a production build, 12 ProofPay escrow contract tests, and backend syntax checks. See Testing and judge walkthrough for the public smoke-test flow.
Use Configuration to set Vercel, Circle, Neon, domain, and contract-deployment values in the correct service. Do not expose Circle API keys, database credentials, or deployer private keys in frontend variables.
This repository is provided for hackathon evaluation and testnet experimentation.