📜Smart Contract

Overview

Property
Value

Network

Base (Chain ID: 8453)

Address

0x0Fa3F2656074285a2cb8506D3a18479C4ABb73b2

USDC

0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Solidity

0.8.24

License

MIT

Functions

Creator Functions

Function
Description

registerCreator(uint96 price)

Register with monthly USDC price

updatePrice(uint96 newPrice)

Change price (doesn't affect existing subs)

deactivateCreator()

Stop accepting new subscriptions

reactivateCreator()

Resume accepting new subscriptions

Subscriber Functions

Function
Description

subscribe(address creator, uint8 months)

New subscription (reverts if already active)

renew(address creator, uint8 months)

Extend existing/expired subscription

View Functions

Function
Returns

isActive(address creator, address user)

bool

getExpiration(address creator, address user)

uint256 (timestamp)

creators(address)

(uint96 price, bool active)

Owner Functions

Function
Description

pause() / unpause()

Emergency shutdown

setPlatformFeeRecipient(address)

Change fee wallet

setPlatformFeeBps(uint16)

Change fee % (max 10%)

transferOwnership(address)

Initiate ownership transfer

acceptOwnership()

New owner accepts

Events

Fee Structure

  • Fee is set in basis points (500 = 5%)

  • Hard cap at 1000 (10%) — owner cannot set higher

  • Fee recipient: 0x1E3C58204B930643F8845AAC7B9C5145d01062a7

Security

circle-info
  • Zero-address validation in constructor

  • subscribe() reverts if already active (protects remaining time)

  • Two-step ownership transfer

  • Pausable for emergencies

  • Fee hard cap at 10%

  • SafeERC20 for USDC transfers

  • Non-upgradeable (immutable code)

Was this helpful?