Skip to main content

V3 Deployments

All deployments are on Base mainnet. Staging uses a separate deployer on the same chain. OrchestratorV2 and OrchestratorV3 can coexist through OrchestratorRegistry; the published package and live registry state are authoritative for which contracts are active in an environment.

Base (Mainnet)

  • Chain: Base mainnet
  • Chain ID: 8453
  • Source of truth: the published @zkp2p/contracts-v2 package — addresses/base.json for contract addresses and paymentMethods/base.json for production payment methods.

Contracts

EscrowV2 and OrchestratorV2 remain active while selected deposits migrate to OrchestratorV3. Do not infer a route's risk behavior from this table alone: resolve the actual Orchestrator and deposit risk hook. OrchestratorV3, RiskManager, StakeVault, and DeferredPayoutHook addresses will appear in the published package after the relevant environment deployment is canonical.

V3 Core

ContractAddressBasescan
EscrowV20x777777779d229cdF3110e9de47943791c26300EfView
OrchestratorV20x888888359E981B5225CA48fbCdCeff702FC3b888View
RateManagerV10xeEd7Db23e724aC4590D6dB6F78fDa6DB203535F3View
ProtocolViewerV20xC8A622e1614BB58141E72e1D6023B16f08677d6cView

Registries

ContractAddressBasescan
EscrowRegistry0xeD0e847B101abc96E796260AC358e12BAa2f5B21View
OrchestratorRegistry0xBe9fED15ED7A4B915C03EFcEcb9662739C3382A9View
PaymentVerifierRegistry0x2b82D24437ff66Fb173eabDfD67ee2ACeb8bEb1eView
NullifierRegistry0x8d8e1A0e5345a5cc9AA206c3ca76D6d28c514608View
RelayerRegistry0xEbA979889a9c97382A92472fF3703786fF180083View

Verification

ContractAddressBasescan
UnifiedPaymentVerifierV20x46A58Dc65587D4D7B8198C6A25eEdf5b2535Da94View
MultiAttestationVerifier (active)0x9Fe920b24e50e6a6362BA71a1BeB502A99c402d5View
SimpleAttestationVerifier0xED6C0C34c3964D239e7a315C55E620fafE5Ae3ACView

Hooks

ContractAddressBasescan
SignatureGatingPreIntentHook0x62D410a3d6FC766dd2192be2a67a5fc79c5c2e1FView
WhitelistPreIntentHook0xda023Ea0d789A41BcF5866F7B6BBd2CaDF9b79B8View
AcrossBridgeHookV20xCcC9163451DE31a625D48e417e0fD1a329c7f7cfView

Oracles

ContractAddressBasescan
ChainlinkOracleAdapter0x53881a928abD61C095e5f30b63bc554872C3b2f1View
PythOracleAdapter0xad0b0126A657c0674d0DF53B2A2554D43bbb41D0View

Legacy (Deprecated)

ContractAddressBasescan
Escrow0x2f121CDDCA6d652f35e8B3E560f9760898888888View
Orchestrator0x88888883Ed048FF0a415271B28b2F52d431810D0View
UnifiedPaymentVerifier0x16b3e4a3CA36D3A4bCA281767f15C7ADeF4ab163View
PostIntentHookRegistry0x9B128EBAD4d874199A2Dc57E93186796c5EcAdE9View
AcrossBridgeHook0x72C10b838Cf46649691949c285E0b468b363b9f0View
ProtocolViewer0x30B03De22328074Fbe8447C425ae988797146606View

Payment Methods

All payment methods resolve to the same verifier contract on Base: UnifiedPaymentVerifierV2 at 0x46A58Dc65587D4D7B8198C6A25eEdf5b2535Da94.

Payment MethodPayment Method ID (bytes32)Supported Currencies
venmo0x90262a3db0edd0be2369c6b28f9e8511ec0bac7136cefbada0880602f87e7268USD
revolut0x617f88ab82b5c1b014c539f7e75121427f0bb50a4c58b187a238531e7d58605dUSD, EUR, GBP, SGD, NZD, AUD, CAD, JPY, HKD, MXN, SAR, AED, THB, TRY, PLN, CHF, ZAR, CNY, CZK, DKK, HUF, NOK, RON, SEK
cashapp0x10940ee67cfb3c6c064569ec92c0ee934cd7afa18dd2ca2d6a2254fcb009c17dUSD
wise0x554a007c2217df766b977723b276671aee5ebb4adaea0edb6433c88b3e61dac5USD, CNY, EUR, GBP, AUD, NZD, CAD, AED, CHF, ZAR, SGD, ILS, HKD, JPY, PLN, TRY, IDR, KES, MYR, MXN, THB, VND, UGX, CZK, DKK, HUF, INR, NOK, PHP, RON, SEK
mercadopago0xa5418819c024239299ea32e09defae8ec412c03e58f5c75f1b2fe84c857f5483ARS
paypal0x3ccc3d4d5e769b1f82dc4988485551dc0cd3c7a3926d7d8a4dde91507199490fUSD, EUR, GBP, SGD, NZD, AUD, CAD
monzo0x62c7ed738ad3e7618111348af32691b5767777fbaf46a2d8943237625552645cGBP
alipay0xcac9daea62d7b89d75ac73af4ee14dcf25721012ae82b568c2ea5c808eaa04ffCNY
chime0x5908bb0c9b87763ac6171d4104847667e7f02b4c47b574fe890c1f439ed128bbUSD
zelle0xf752c7d19698ecb0bb8988abf9b9a53a4c3657f3bc8850a6fb59fdf3e3ce8cd3USD

All Supported Currencies

Currency codes are ISO 4217 (uppercase). The on-chain representation is the bytes32 hash keccak256(utf8(code)).

CurrencyBytes32 Hash
AED0x4dab77a640748de8588de6834d814a344372b205265984b969f3e97060955bfa
ARS0x8fd50654b7dd2dc839f7cab32800ba0c6f7f66e1ccf89b21c09405469c2175ec
AUD0xcb83cbb58eaa5007af6cad99939e4581c1e1b50d65609c30f303983301524ef3
CAD0x221012e06ebf59a20b82e3003cf5d6ee973d9008bdb6e2f604faa89a27235522
CHF0xc9d84274fd58aa177cabff54611546051b74ad658b939babaad6282500300d36
CNY0xfaaa9c7b2f09d6a1b0971574d43ca62c3e40723167c09830ec33f06cec921381
CZK0xd783b199124f01e5d0dde2b7fc01b925e699caea84eae3ca92ed17377f498e97
DKK0x5ce3aa5f4510edaea40373cbe83c091980b5c92179243fe926cb280ff07d403e
EUR0xfff16d60be267153303bbfa66e593fb8d06e24ea5ef24b6acca5224c2ca6b907
GBP0x90832e2dc3221e4d56977c1aa8f6a6706b9ad6542fbbdaac13097d0fa5e42e67
HKD0xa156dad863111eeb529c4b3a2a30ad40e6dcff3b27d8f282f82996e58eee7e7d
HUF0x7766ee347dd7c4a6d5a55342d89e8848774567bcf7a5f59c3e82025dbde3babb
IDR0xc681c4652bae8bd4b59bec1cdb90f868d93cc9896af9862b196843f54bf254b3
ILS0x313eda7ae1b79890307d32a78ed869290aeb24cc0e8605157d7e7f5a69fea425
INR0xaad766fbc07fb357bed9fd8b03b935f2f71fe29fc48f08274bc2a01d7f642afc
JPY0xfe13aafd831cb225dfce3f6431b34b5b17426b6bff4fccabe4bbe0fe4adc0452
KES0x589be49821419c9c2fbb26087748bf3420a5c13b45349828f5cac24c58bbaa7b
MXN0xa94b0702860cb929d0ee0c60504dd565775a058bf1d2a2df074c1db0a66ad582
MYR0xf20379023279e1d79243d2c491be8632c07cfb116be9d8194013fb4739461b84
NOK0x8fb505ed75d9d38475c70bac2c3ea62d45335173a71b2e4936bd9f05bf0ddfea
NZD0xdbd9d34f382e9f6ae078447a655e0816927c7c3edec70bd107de1d34cb15172e
PHP0xe6c11ead4ee5ff5174861adb55f3e8fb2841cca69bf2612a222d3e8317b6ae06
PLN0x9a788fb083188ba1dfb938605bc4ce3579d2e085989490aca8f73b23214b7c1d
RON0x2dd272ddce846149d92496b4c3e677504aec8d5e6aab5908b25c9fe0a797e25f
SAR0xf998cbeba8b7a7e91d4c469e5fb370cdfa16bd50aea760435dc346008d78ed1f
SEK0x8895743a31faedaa74150e89d06d281990a1909688b82906f0eb858b37f82190
SGD0xc241cc1f9752d2d53d1ab67189223a3f330e48b75f73ebf86f50b2c78fe8df88
THB0x326a6608c2a353275bd8d64db53a9d772c1d9a5bc8bfd19dfc8242274d1e9dd4
TRY0x128d6c262d1afe2351c6e93ceea68e00992708cfcbc0688408b9a23c0c543db2
UGX0x1fad9f8ddef06bf1b8e0e28c11b97ca0df51b03c268797e056b7c52e9048cfd1
USD0xc4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e
VND0xe85548baf0a6732cfcc7fc016ce4fd35ce0a1877057cfec6e166af4f106a3728
ZAR0x53611f0b3535a2cfc4b8deb57fa961ca36c7b2c272dfe4cb239a29c48e549361

Notes

  • All payment methods are registered in PaymentVerifierRegistry and resolve to the same UnifiedPaymentVerifierV2 address on Base.
  • Currencies per method are derived from paymentMethods/base.json in the published @zkp2p/contracts-v2 package. Re-read that file when refreshing this document.
  • n26 and luxon are absent from the production payment-method catalog; the SDK rejects new deposits using either method before submission.
  • Last refresh: 2026-07-15 (UTC), verified against the @zkp2p/contracts-v2@0.3.0 package catalog.