Skip to main content

What are periphery contracts

Periphery contracts support the PaymentOperator without being the operator itself. They handle escrow storage, token collection, refund workflows, and evidence submission.

Contract Map

ContractRoleType
Commerce PaymentsAuthCaptureEscrow + ERC3009PaymentCollector + Permit2PaymentCollector (base layer)Singleton
RefundRequestEvidenceOn-chain evidence submission tied to RefundRequestSingleton
ReceiverRefundCollectorPulls funds from receiver for refunds (after capture)Singleton
RefundRequest is a hook plugin, see Hooks: RefundRequest.

Contract Addresses

All periphery contracts use universal CREATE2 addresses: the same address on every supported chain.
ContractAddress
AuthCaptureEscrow0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff
ERC3009PaymentCollector0x0E3dF9510de65469C4518D7843919c0b8C7A7757
Permit2PaymentCollector0x992476B9Ee81d52a5BdA0622C333938D0Af0aB26
ProtocolFeeConfig0xBe2d24614F339a1eB103A399F93AA2a39Ca815Bc
ReceiverRefundCollector0x88C9826dFA17Ad9d3a726015C667dD995394D341
RefundRequestEvidence0x4089A5A853e9eF35f504B842795fB272dF69c739

Factories

FactoryAddress
PaymentOperatorFactory0xa0d4734842df1690a5B33Cb21828c946e39D55a2
EscrowPeriodFactory0xe72D2014ebC48F1d92521e8629574918E8030548
FreezeFactory0xeC092cf1215DB44af0Abe87c1157E304FEa5d0Eb
StaticFeeCalculatorFactory0x97F99AB01F86b480f751B7b81166Dbe1F113e6C3
StaticAddressConditionFactory0x77B379390750E1d3F802cC220926694D2454903E
AndConditionFactory0x2B07d750C639b65a26e43F1FDCE404b21DCf16D9
OrConditionFactory0x0519a37c0A996DD5F1e81e07b4aD3B24C257BC90
NotConditionFactory0xb9c3223D059C3cAbD482bB54f3d7cD52DE70A9ae
HookCombinatorFactory0x30B5373FD791D2d7b28C3B8020EB68b032f3f960

Condition Singletons

ConditionAddress
PayerCondition0x586486394C38A2a7d36B16a3FDaF366cd202d823
ReceiverCondition0x321651df4593DA57C413579c5b611D1A90168a3A
AlwaysTrueCondition0x2ef2A6162aEF9Df1022ff51c011af94D99AB4904
All addresses are available programmatically via @x402r/core’s getChainConfig(chainId). See SDK Overview for details.

Next Steps

Commerce Payments

AuthCaptureEscrow and ERC3009PaymentCollector.

RefundRequest (hook)

Refund request lifecycle and approvals.

PaymentOperator

The core operator contract.