Deployment & Network Information
The Subscrypts Smart Contract Suite is deployed on the Arbitrum One network and structured hybrid between the UUPS (Universal Upgradeable Proxy Standard) and a facet-based modular pattern. This section provides detailed information on network configuration, contract verification, and developer integration with deployed addresses.
Deployment Overview
The Subscrypts deployment follows a modular upgradeable proxy model, ensuring every component can evolve independently while maintaining state persistence and backward compatibility.
| Component | Description | Deployment Type |
|---|---|---|
| SubscryptsProxy | Main UUPS proxy contract holding global state and delegating all calls. | Immutable address (upgradeable logic). |
| SubscryptsLogic | Core business logic for subscription lifecycle management. | Upgradeable logic contract. |
| FacetSubscription | Manages plan creation, renewals, and cancellations. | Modular facet (selector-mapped). |
| FacetPaymentUSDC | Handles atomic conversion and USDC→SUBS settlements. | Modular facet (selector-mapped). |
| FacetAdmin | Controls governance, upgrades, and halt mechanisms. | Modular facet (selector-mapped). |
| FacetView | Read-only query interface for public and SDK integrations. | Modular facet (selector-mapped). |
| Uniswap Router / Quoter / Position Manager | External DEX components for price discovery and conversion. | Verified Uniswap V3 addresses. |
Network Configuration
Primary Network:
- Network: Arbitrum One
- Chain ID: 42161
- RPC Endpoint:
https://arb1.arbitrum.io/rpc - Block Explorer: https://arbiscan.io
- Currency: ETH (for gas)
Contract Addresses
Note: Addresses below correspond to the Subscrypts Arbitrum One release. Future versions will maintain proxy continuity.
| Contract | Address | Type |
|---|---|---|
| SubscryptsProxy | 0x0000...PROXY | Entry point for all transactions. |
| SubscryptsLogic) | 0x0000...LOGIC | Core implementation under UUPS proxy. |
| FacetSubscription | 0x0000...FSUB | Subscription lifecycle logic. |
| FacetPaymentUSDC | 0x0000...FPAY | Payment and USDC↔SUBS conversion. |
| FacetAdmin | 0x0000...FADM | Governance and upgrades. |
| FacetView | 0x0000...FVIEW | Query and data access. |
| SubscryptsStorage | (Proxy state reference) | Shared storage (internal only). |
| Uniswap V3 Router | 0xE592...1564 | Standard Uniswap V3 router. |
| Uniswap Quoter | 0xb273...dFFe | Standard Uniswap V3 quoter. |
Deployment Process
Deployment is performed via under a controlled CI/CD pipeline. The key steps include:
- Compile Contracts using Solidity >=0.8.30 with optimization enabled.
- Deploy Logic Contracts (
SubscryptsLogic,FacetSubscription, etc.). - Deploy Proxy Contract with
initialize()called post-deployment. - Register Function Selectors for each facet using
registerFacetSelector(). - Emit Deployment Events to record addresses and version tags on-chain.
Upgrade Process:
- Governance deploys the new facet or logic contract.
- Calls
upgradeToAndCall()orregisterFacetSelector()throughFacetAdmin. - Emits
UpgradedandFacetSelectorUpdatedevents for verification. - Existing data remains untouched within
SubscryptsStorage.
Environment Integration for Developers
Developers building integrations (dApps, SDKs, analytics dashboards) can use the following configuration template:
export const subscryptsConfig = {
network: 'Arbitrum One',
rpcUrl: 'https://arb1.arbitrum.io/rpc',
proxyAddress: '0x0000...PROXY',
uniswapRouter: '0xE592...1564',
uniswapQuoter: '0xb273...dFFe',
abiPath: '/docs/contracts/abi/subscryptsAbi-V#.json'
};
Developer Verification Checklist
Before interacting with the production contracts, developers should verify:
- ✅ Network ID matches 42161 (Arbitrum One).
- ✅ ABI matches
subscryptsAbi-V#.json(always use latest ABI version). - ✅ The proxy contract emits
Upgradedevents for new versions. - ✅ The
proxiableUUID()matches the current logic version. - ✅ DEX router and quoter addresses match official Uniswap V3 contracts.
Summary
The Subscrypts deployment on Arbitrum One ensures a secure, scalable, and transparent environment for decentralized subscription management. Through its modular proxy design, verified deployment process, and consistent versioning, developers and auditors can confidently integrate, monitor, and extend the protocol without disrupting live data.