Getting Started

Before Testing

Prepare wallets, testnet gas, MockUSDC, cUSDC, and Nox timing requirements before running the judge demo.

Required setup

  • 1Use two wallet addresses: one founder wallet for deal creation and one investor wallet for counter-offers and settlement.
  • 2Add Arbitrum Sepolia to both wallets. Chain ID is 421614.
  • 3Fund both wallets with Arbitrum Sepolia ETH for gas.
  • 4Give the investor wallet MockUSDC or test USDC, then wrap it to confidential cUSDC from the Portfolio page.
  • 5Configure WalletConnect, Supabase, ChainGPT, RPC, Nox, DealRoom, ConfidentialToken, and USDC addresses.
  • 6Encrypt Nox handles immediately before submit. Nox handle proofs expire after roughly 1 hour.
  • 7Use correct wallet roles: founder cannot counter, only founder can accept/reject, and only assigned investor can close.

How to get faucet funds

You need two kinds of testing funds: Arbitrum Sepolia ETH for gas and MockUSDC for the investor. ETH comes from any Arbitrum Sepolia faucet. MockUSDC can be minted or claimed with the project scripts.

Claim MockUSDC

Use this with the investor wallet, then open Portfolio to wrap USDC into cUSDC before closing settlement.

Token: 0x917593309A8c45E65c8D4F21C33F31cb68A373c1

Recommended judge setup

Send faucet ETH to both founder and investor wallets. Mint MockUSDC to the investor wallet, then open Portfolio and wrap USDC into cUSDC before closing settlement.

1. Get Arbitrum Sepolia ETH

Use an Arbitrum Sepolia faucet and paste both wallet addresses. If one faucet is rate-limited, try another public Sepolia/Arbitrum Sepolia faucet from Alchemy, QuickNode, Chainlink, or the Arbitrum docs.

2. Get MockUSDC for the investor

Configure the investor wallet as MOCK_USDC_MINT_TO, confirm the deployed MockUSDC address, then run one of the faucet scripts below.

.env.local
ARBITRUM_SEPOLIA_RPC_URL=https://sepolia-rollup.arbitrum.io/rpc
DEPLOYER_PRIVATE_KEY=your_testnet_private_key
NEXT_PUBLIC_USDC_ADDRESS=your_mock_usdc_address
USDC_ARBITRUM_SEPOLIA=your_mock_usdc_address
MOCK_USDC_MINT_TO=investor_wallet_address
MOCK_USDC_MINT_AMOUNT=1000
terminal
# Mint MockUSDC to the configured MOCK_USDC_MINT_TO wallet
npm run mint:mockusdc

# Or claim from the MockUSDC faucet contract with the connected deployer/test wallet
npm run faucet:mockusdc

3. Wrap USDC to cUSDC

Connect the investor wallet, open /portfolio, enter the amount, approve USDC allowance, and wrap to cUSDC. The deal can only be closed when the assigned investor has enough confidential balance and operator approval succeeds.

Quick judge checklist

  • Founder wallet has Arbitrum Sepolia ETH.
  • Investor wallet has Arbitrum Sepolia ETH.
  • Investor wallet has MockUSDC and can wrap to cUSDC.
  • ChainGPT API key is configured or fallback score behavior is acceptable for demo.
  • Contract addresses match the latest deployment used by the frontend.