@azothpay/api
v1.0.0
Published
Browser-compatible JavaScript client for AzothPay API - streaming payments and subscriptions on Ethereum
Readme
@azothpay/api
Browser-compatible JavaScript client library for AzothPay API - a streaming payments and subscriptions protocol on Ethereum blockchain.
Installation
npm install @azothpay/apiPeer Dependencies
This package requires ethers to be installed:
npm install ethersUsage
Basic Setup
import { AzothPayApiClient } from '@azothpay/api';
const client = new AzothPayApiClient(
'https://azothpay.com',
'usdt', // contract type
'your-api-key'
);Creating a Subscription
import { ethers } from 'ethers';
// Connect to Ethereum provider
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
// Create subscription
const params = {
author: '0x...', // Content creator address
subscriptionRate: '1000000000000000', // Rate in wei
projectId: 1
};
// Option 1: Get transaction and sign manually
const transaction = await client.createSubscription(params);
const receipt = await client.signAndSendTransactionAndWait(transaction, signer);
// Option 2: Create and send in one call
const receipt = await client.createSubscriptionAndSend(params, signer);Meta Transactions (Gasless)
import { AzothPayMetaApiClient } from '@azothpay/api/meta';
const metaClient = new AzothPayMetaApiClient(
'https://api.azothpay.example.com',
'usdt',
'your-api-key'
);
// Create subscription via meta transaction
const params = {
from: '0x...', // User address
author: '0x...', // Content creator address
subscriptionRate: '1000000000000000',
projectId: 1
};
const result = await metaClient.createSubscriptionViaMetaTransaction(
params,
signer,
contractAddress,
chainId,
relayerAddress
);API Methods
AzothPayApiClient
getApiInfo()- Get API information and statusgetAvailableContracts()- Get list of available contractscreateSubscription(params)- Create a new subscriptioncancelSubscription(author, params)- Cancel a subscriptionlistSubscriptions(address)- List user's active subscriptionsmakePayment(params)- Make a one-time paymentdepositFunds(params)- Deposit funds to user accountwithdrawFunds(params)- Withdraw funds from user accountgetBalance(address)- Check user balance and streaming ratesclaimProject(params)- Claim project ID for fee settingsconfigureFees(projectId, params)- Configure protocol feesgetProjectInfo(projectId)- Get project informationcreateBatchSubscriptions(params)- Create multiple subscriptionsprocessBatchPayments(params)- Batch payments to multiple recipientsliquidateAccount(params)- Liquidate underfunded accountsgetAnalytics(params)- Get streaming payment analyticsregisterWebhook(params)- Register a webhook endpointlistWebhooks()- List registered webhooks
AzothPayMetaApiClient
getNonce(address)- Get nonce for meta transactionsprepareSubscriptionMetaTransaction(params)- Prepare subscription meta transactionprepareCancelSubscriptionMetaTransaction(author, params)- Prepare cancel subscription meta transactionpreparePaymentMetaTransaction(params)- Prepare payment meta transactionprepareDepositMetaTransaction(params)- Prepare deposit meta transactionprepareWithdrawMetaTransaction(params)- Prepare withdraw meta transactionsignMetaTransaction(transactionData, signer, contractAddress, chainId, relayerAddress)- Sign a meta transactionexecuteMetaTransaction(signedTransaction)- Execute a signed meta transaction
License
MIT
