base / commerce-payments
git clone https://github.com/base/commerce-payments.git
v1.1.0 · 1mo ago
🔥 on GitHub Trending today
Onchain authorization and capture for trust-minimized commerce.
—
stars, 24h
+0
stars, 7 days · #1,658
—
stars, 30 days
141
★ total
50
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageSolidity
LicenseMIT
Created2025-03-06 (1y ago)
Last push1mo ago
Watchers12
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #9 weekly in solidity
Links
README excerpt
# Commerce Payments Protocol A permissionless protocol for onchain payments that mimics traditional "authorize and capture" payment flows. ## Quick Start The Commerce Payments Protocol facilitates secure escrow-based payments with flexible authorization and capture patterns. Operators drive payment flows using modular token collectors while the protocol ensures payer and merchant protections. **📖 Read the Full Documentation** ## Key Features - **Two-Phase Payments**: Separate authorization and capture for guaranteed merchant payments and management of real-world complexity - **Flexible Fee Structure**: Configurable fee rates and recipients within predefined ranges - **Modular Token Collection**: Support for multiple authorization methods (ERC-3009, Permit2, allowances, spend permissions) - **Built-in Protections**: Time-based expiries, amount limits, and reclaim mechanisms - **Operator Model**: Permissionless operators manage payment flows while remaining trust-minimized ## Deployment Addresses Deployed via CREATE2, so each contract has the **same address on Base Mainnet and Base Sepolia**. ### v1.1.0 (latest) | Contract | Address | |----------|---------| | AuthCaptureEscrow | `0xf96815976523E00e65Be8f34cA5e64b4f41EB19c` | | ERC3009PaymentCollector | `0x8612dfdc421f80336cd14E8EF9cb1E765dB5ab88` | | Permit2PaymentCollector | `0xD69831Aed5bfe262067ec4c751f4F830EcdD446e` | | PreApprovalPaymentCollector | `0xF1F9C408C787B2bC6CAEB91e5BbEc434a5c8d2Ea` | | SpendPermissionPaymentCollector | `0xB508c1C0a13849693DC175307667653C5977a408` | | OperatorRefundCollector | `0x7a03443724d14798c4AB4622F1DAAcA761Fea486` | ### v1.0.0 | Contract | Address | |----------|---------| | AuthCaptureEscrow | `0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff` | | ERC3009PaymentCollector | `0x0E3dF9510de65469C4518D7843919c0b8C7A7757` | | Permit2PaymentCollector | `0x992476B9Ee81d52a5BdA0622C333938D0Af0aB26` | | PreApprovalPaymentCollector | `0x1b77ABd71FCD21fbe2398AE821Aa27D1E6B94bC6` | | SpendPermissionPaymentCollector | `0x8d9F34934dc9619e5DC3Df27D0A40b4A744E7eAa` | | OperatorRefundCollector | `0x934907bffd0901b6A21e398B9C53A4A38F02fa5d` | ## Documentation - **Protocol Overview** - Architecture, components, and payment lifecycle - **Security Analysis** - Security features, risk assessment, and mitigation strategies - **Token Collectors Guide** - Modular payment authorization methods - **Fee System** - Comprehensive fee mechanics and examples - **Core Operations:** - Authorize - Reserve funds for future capture - Capture - Transfer authorized funds to merchants - Charge - Immediate authorization and capture - Void - Cancel authorizations (operator) - Reclaim - Recover expired authorizations (payer) - Refund - Return captured funds to payers ## Development [code] ## License MIT License - see LICENSE file for details. ## Security Audits Audited by Spearbit and Coinbase Protocol Security. | Audit | Date | Report | |--------|---------|---------| | Coinbase Protocol Security a