尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Secure P2P USDC escrow on Arc Testnet
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
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:查看完整 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.