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