The zkp2p-contracts system is deployed across multiple networks to support both production and testing environments.
Network Overview
| Network | Chain ID | Status | RPC URL | Block Explorer |
|---|
| Base | 8453 | Production | https://base-mainnet.g.alchemy.com/v2/YOUR_API_KEY | Basescan |
| Base Sepolia | 84532 | Testnet | https://base-sepolia.g.alchemy.com/v2/YOUR_API_KEY | Base Sepolia Explorer |
| Base Staging | 8453 | Staging | https://developer-access-mainnet.base.org | Basescan |
Contract Addresses
Base Mainnet (Production)
Core Contracts
| Contract | Address | Description |
|---|
| Escrow | 0x2f121CDDCA6d652f35e8B3E560f9760898888888 | V1 liquidity management |
| Orchestrator | 0x88888883Ed048FF0a415271B28b2F52d431810D0 | V1 intent lifecycle |
| UnifiedPaymentVerifier | - | Payment attestation verification |
| SimpleAttestationVerifier | - | EIP-712 signature verification |
| ProtocolViewer | - | Read-only state aggregator |
Registries
| Contract | Address | Description |
|---|
| PaymentVerifierRegistry | - | Payment method to verifier mapping |
| NullifierRegistry | - | Payment proof nullification |
| EscrowRegistry | - | Whitelisted escrow contracts |
| RelayerRegistry | - | Authorized relayers |
| PostIntentHookRegistry | - | Approved post-intent hooks |
Configuration
| Parameter | Value | Description |
|---|
| Intent Expiration | 6 hours | Maximum time for intent fulfillment |
| Protocol Fee | 0 | Taker fee in wei |
| Dust Threshold | 0.1 USDC | Minimum deposit remainder |
| Max Intents per Deposit | 200 | Concurrent intent limit |
| USDC Address | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | Official USDC token |
| Multisig Owner | 0x0bC26FF515411396DD588Abd6Ef6846E04470227 | Protocol governance |
Base Sepolia (Testnet)
Core Contracts
| Contract | Address | Description |
|---|
| Escrow | 0x6a5e11c3D87e22b828d02ee65a4e8f322BF6B97E | V1 liquidity management |
| Orchestrator | - | V1 intent lifecycle |
| UnifiedPaymentVerifier | - | Payment attestation verification |
| SimpleAttestationVerifier | - | EIP-712 signature verification |
| USDCMock | - | Test USDC token |
Configuration
| Parameter | Value | Description |
|---|
| Intent Expiration | 1 hour | Maximum time for intent fulfillment |
| Protocol Fee | 0 | Taker fee in wei |
| Dust Threshold | 0.1 USDC | Minimum deposit remainder |
| Max Intents per Deposit | 200 | Concurrent intent limit |
| Witness Address | 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 | Test attestation signer |
Network Configuration
The networks are configured in hardhat.config.ts:
networks: {
base: {
url: "https://base-mainnet.g.alchemy.com/v2/" + process.env.ALCHEMY_API_KEY,
accounts: [`0x${process.env.BASE_DEPLOY_PRIVATE_KEY}`]
},
base_sepolia: {
url: "https://base-sepolia.g.alchemy.com/v2/" + process.env.ALCHEMY_API_KEY,
accounts: [`0x${process.env.TESTNET_DEPLOY_PRIVATE_KEY}`]
},
base_staging: {
url: "https://developer-access-mainnet.base.org",
accounts: [`0x${process.env.BASE_DEPLOY_PRIVATE_KEY}`],
verify: {
etherscan: {
apiUrl: "https://api.basescan.org/",
apiKey: process.env.BASESCAN_API_KEY
}
}
}
}
Supported Payment Methods
All networks support the following payment platforms:
- Venmo - US peer-to-peer payments
- PayPal - Global payment platform
- Wise - International transfers
- Zelle - US bank transfers (Chase, Bank of America, Citi)
- CashApp - US mobile payments
- Revolut - European digital banking
- MercadoPago - Latin American payments
- Monzo - UK digital banking
- N26 - European digital banking
- Chime - US digital banking
- Luxon - Payment platform
- Alipay - Chinese payment platform
External Integrations
Across Bridge Hook
| Network | Spoke Pool Address | Status |
|---|
| Base | 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64 | Active |
| Base Staging | 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64 | Active |
| Base Sepolia | - | Not deployed |
Pyth Oracle
| Network | Oracle Address | Status |
|---|
| Base | 0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a | Active |
| Base Staging | 0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a | Active |
| Base Sepolia | 0xA2aa501b19aff244D90cc15a4Cf739D2725B5729 | Active |
Accessing Deployment Files
All deployment artifacts are stored in the deployments/ directory:
deployments/
├── base/ # Production deployments
│ ├── Escrow.json
│ ├── Orchestrator.json
│ └── ...
├── base_sepolia/ # Testnet deployments
│ ├── Escrow.json
│ ├── Orchestrator.json
│ └── ...
└── base_staging/ # Staging deployments
└── ...
Each JSON file contains:
- Contract address
- ABI (Application Binary Interface)
- Constructor arguments
- Deployment transaction hash
- Block number
Connecting to Contracts
Using Ethers.js
import { ethers } from 'ethers';
import EscrowABI from './deployments/base/Escrow.json';
const provider = new ethers.providers.JsonRpcProvider(
'https://base-mainnet.g.alchemy.com/v2/YOUR_API_KEY'
);
const escrow = new ethers.Contract(
'0x2f121CDDCA6d652f35e8B3E560f9760898888888',
EscrowABI.abi,
provider
);
Using Hardhat
import { ethers } from 'hardhat';
const escrow = await ethers.getContractAt(
'Escrow',
'0x2f121CDDCA6d652f35e8B3E560f9760898888888'
);
Network Selection
For Development
Use Base Sepolia testnet:
- Free testnet USDC available
- No real value at risk
- Faster confirmation times
- Test attestation infrastructure
For Staging
Use Base Staging environment:
- Production-like configuration
- Separate witness infrastructure
- Pre-production testing
For Production
Use Base Mainnet:
- Real USDC transactions
- Production attestation service
- Governed by multisig
- Full security measures active
Always test thoroughly on Base Sepolia before deploying to production. The testnet environment closely mirrors production but uses test tokens.
Production deployments on Base Mainnet are controlled by a multisig wallet (0x0bC26FF515411396DD588Abd6Ef6846E04470227). Direct contract modifications require multisig approval.