A TypeScript SDK for interacting with the Smart Rewards protocol. This SDK provides a type-safe way to query campaigns, rewards, and user data from the Smart Rewards GraphQL API.
npm install @steer-protocol/smart-rewards-sdk
# or
yarn add @steer-protocol/smart-rewards-sdk
import { createClient } from '@steer-protocol/smart-rewards-sdk';
// Initialize the SDK
const sdk = createClient('YOUR_API_ENDPOINT', {
// Optional headers
// authorization: 'Bearer YOUR_TOKEN'
});
// Query active campaigns
const campaigns = await sdk.campaigns({
first: 10,
filter: {
status: CampaignStatus.Active
}
});
createClient(endpoint: string, headers?: Record<string, string>)
Creates a new SDK client instance.
campaigns(): Query campaigns with filtering and paginationcampaign(id: string): Get details of a specific campaigncampaignsByPool(poolId: string, chainId: number): Get campaigns for a specific poolrewards(): Get all rewards across campaignsuserRewards(options): Get rewards for a specific userclaimRewards(options): Query claimed rewardsrewardByCampaignId(id: string): Get rewards for a specific campaignvaults(): Query vaults with filtering and paginationvault(id: string, chainId: number): Get details of a specific vaultvaultAPRs(): Get APR data for vaultspools(): Query pools with filtering and paginationpool(id: string, chainId: number): Get details of a specific poolCheck out the examples directory for more detailed usage examples:
The SDK provides comprehensive TypeScript definitions for all operations:
The SDK uses standard Promise-based error handling. Wrap your calls in try-catch blocks:
try {
const result = await sdk.campaigns();
} catch (error) {
console.error('Error fetching campaigns:', error);
}
We welcome contributions! Please see our Contributing Guide for details.