API Reference
Initialization
new SubscriptionSDK({ chain: 'sepolia', walletClient })Core Methods
| Method | Parameters | Returns | 
|---|---|---|
| subscribe | (merchantId: bigint, token: Address | "ETH") | Promise<Hash> | 
| checkAccess | (merchantId: bigint, address?: Address) | Promise<boolean> | 
| getMerchantBalance | (merchantId: bigint, token: Address | "ETH") | Promise<bigint> | 
| withdrawMerchantBalance | (merchantId: bigint, token: Address | "ETH") | Promise<Hash> | 
| formatAmount | (amount: bigint, decimals: number) | string | 
| parseAmount | (amount: string, decimals: number) | bigint | 
| waitForTransaction | (hash: Hash) | Promise<TransactionReceipt> | 
| getAddress | () | Address | undefined | 
| isConnected | () | boolean | 
| getChainId | () | number | 
| getContracts | () | ContractAddresses | 
Merchant Methods (v2)
| Method | Parameters | Returns | 
|---|---|---|
| registerMerchantWithMetadata | (params: RegisterMerchantParams) | Promise<{hash, merchantId, metadataStored}> | 
| getMerchantMetadata | (merchantId: bigint) | Promise<MerchantMetadata | null> | 
| updateMerchantMetadata | (params: UpdateMetadataParams) | Promise<boolean> | 
| getMerchantComplete | (merchantId: bigint) | Promise<{onChain, metadata}> | 
| registerMerchant | (params: OnChainParams) | Promise<{hash, merchantId}> | 
| setMerchantPrice | (params: PriceParams) | Promise<Hash> | 
| getMerchantPlan | (merchantId: bigint) | Promise<MerchantPlan> | 
| withdrawMerchantBalance | (params: WithdrawParams) | Promise<Hash> | 
Services
| Method | Parameters | Returns | 
|---|---|---|
| sdk.merchants | MerchantService | Full merchant management with v2 metadata support | 
| sdk.subscriptions | SubscriptionService | subscribe, getSubscriptionStatus, isSubscriptionActive, getSubscriptionPrice | 
| sdk.tokens | TokenService | getTokenInfo, getBalance, approve, approveIfNeeded | 
| sdk.nfts | NFTService | getBalance, safeTransferFrom, getFullMetadata, getTokenURI | 
| sdk.events | EventMonitoringService | monitorPaymentEvents, monitorSubscriptionLifecycle, stopMonitoring | 
| sdk.analytics | AnalyticsService | getPlatformStatistics, getMerchantStatistics, getMerchantRevenue | 
| sdk.admin | AdminService | setPlatformFee, pausePlatform, withdrawPlatformFees | 
| sdk.reactive | ReactiveNetworkService | subscribeToPaymentEvents, subscribeToCronJob, watchReactiveEvents | 
Event Monitoring
| Method | Parameters | Returns | 
|---|---|---|
| startEventMonitoring | (listeners: EventListeners) | void | 
| stopEventMonitoring | () | void | 
| on | (event: string, callback: Function) | void | 
| off | (event: string, callback: Function) | void | 
Types
SDKConfig
| chain? | string | 
| walletClient? | WalletClient | 
| publicClient? | PublicClient | 
| privateKey? | string | 
| rpc? | string | 
| readOnly? | boolean | 
RegisterMerchantParams (v2)
| payoutAddress? | Address | 
| subscriptionPeriod? | number | 
| gracePeriod? | number | 
| name? | string | 
| description? | string (optional) | 
| logo? | string (optional) | 
| metadataApiUrl? | string (optional) | 
MerchantMetadata
| merchantId? | string | 
| name? | string | 
| description? | string | 
| logo? | string | null | 
| createdAt? | string | 
| updatedAt? | string | 
SubscriptionStatus
| isActive? | boolean | 
| expiresAt? | bigint | 
| renewalCount? | bigint | 
| lastRenewal? | bigint | 
| merchantId? | bigint | 
EventListeners
| onPaymentReceived? | EventCallback<PaymentEvent> | 
| onSubscriptionMinted? | EventCallback<SubscriptionMintedEvent> | 
| onSubscriptionRenewed? | EventCallback<SubscriptionRenewedEvent> | 
| onSubscriptionExpired? | EventCallback<SubscriptionExpiredEvent> | 
| onMerchantRegistered? | EventCallback<MerchantRegisteredEvent> | 
| onMerchantWithdrawal? | EventCallback<MerchantWithdrawalEvent> | 
Events
payment:receivedsubscription:mintedsubscription:renewedsubscription:expiredmerchant:registeredmerchant:withdrawal