@ramaris/sdk
v0.2.0
Published
TypeScript SDK for the [Ramaris](https://www.ramaris.app) REST API. Query on-chain wallet analytics, trading strategies, and performance data on Base.
Maintainers
Readme
@ramaris/sdk
TypeScript SDK for the Ramaris REST API. Query on-chain wallet analytics, trading strategies, and performance data on Base.
Install
npm install @ramaris/sdkQuick Start
import { RamarisClient } from '@ramaris/sdk';
const client = new RamarisClient({
apiKey: 'rms_your_api_key',
});
// List top strategies
const strategies = await client.strategies.list({ pageSize: 10 });
console.log(strategies.data);
// Get strategy details
const strategy = await client.strategies.get('abc123def');
console.log(strategy.name, strategy.roiPercent);Get an API Key
- Sign up at ramaris.app
- Go to API Access
- Create a new API key
Free tier gets 1 API key with strategies:read scope (100 req/hr). Upgrade to PRO for wallet data and higher limits.
API Coverage
Strategies (FREE tier)
client.strategies.list({ page, pageSize }) // List strategies
client.strategies.get(shareId) // Strategy details
client.strategies.watchlist({ page, pageSize }) // Your followed strategiesWallets (PRO+)
client.wallets.list({ page, pageSize }) // List wallets
client.wallets.get(id) // Wallet details
// Filter wallets by activity, token quality, and risk level
client.wallets.list({
computed: ['activeWeek', 'hideMemeOnly'], // Active + exclude meme-only
});Computed Filters
| Filter | Type | Description |
|--------|------|-------------|
| activeDay | Activity (OR) | Swapped in the last 24 hours |
| activeWeek | Activity (OR) | Swapped in the last 7 days |
| stale | Activity (OR) | No swaps in 7+ days |
| hideMemeOnly | Quality (AND) | Exclude wallets trading only risky tokens |
| riskConservative | Risk (AND) | Conservative risk profile |
| riskBalanced | Risk (AND) | Balanced risk profile |
| riskHighRisk | Risk (AND) | High risk profile |
| riskDegen | Risk (AND) | Degen risk profile |
Activity filters use OR semantics (union). Quality and risk filters use AND semantics (narrow results).
User (PRO+)
client.me.profile() // Your profile
client.me.subscription() // Your subscriptionHealth
client.health() // API health checkRate Limits
| Tier | Requests/Hour | Scopes | |------|---------------|--------| | FREE | 100 | strategies:read | | PRO | 1,000 | strategies:read, wallets:read | | ULTRA | 10,000 | strategies:read, wallets:read | | ENTERPRISE | 100,000 | strategies:read, wallets:read |
Rate limit info is available after any request:
await client.strategies.list();
console.log(client.rateLimit);
// { limit: 100, remaining: 99, reset: 1707667200 }Error Handling
import { RamarisError, RateLimitError } from '@ramaris/sdk';
try {
await client.wallets.list();
} catch (err) {
if (err instanceof RateLimitError) {
console.log(`Rate limited. Retry after ${err.retryAfter}s`);
} else if (err instanceof RamarisError) {
console.log(err.code, err.message); // e.g. "INSUFFICIENT_SCOPE"
}
}Configuration
const client = new RamarisClient({
apiKey: 'rms_...', // Required
baseUrl: 'https://...', // Optional, defaults to https://www.ramaris.app/api/v1
});Links
License
MIT
