Skip to main content

Overview

The Solar Sentra SDK provides a type-safe interface for interacting with the Solar Sentra API. Available for TypeScript (Node.js, Browser) and Python 3.9+.

Configuration Options

path=null start=null
interface SolarSentraConfig {
  apiKey: string;
  network?: 'mainnet-beta' | 'devnet' | 'testnet';
  rpcEndpoint?: string;
  timeout?: number;
  retryAttempts?: number;
  debug?: boolean;
}
ParameterTypeDefaultDescription
apiKeystringRequiredYour API authentication key
networkstringmainnet-betaSolana network to connect
rpcEndpointstringAutoCustom RPC endpoint URL
timeoutnumber30000Request timeout in milliseconds
retryAttemptsnumber3Number of retry attempts on failure
debugbooleanfalseEnable debug logging

Wallet Module

wallet.track(address: string)

Begin tracking a Solana wallet address. Parameters:
  • address - Valid Solana wallet address (base58 encoded)
Returns:
path=null start=null
interface WalletTrackingData {
  address: string;
  balance: number;
  tokenAccounts: number;
  nftCount: number;
  lastActivity: string;
  riskScore: number;
  tags: string[];
}

wallet.getTransactions(address, options)

Retrieve transaction history for a wallet. Options:
path=null start=null
interface TransactionOptions {
  limit?: number;        // Max 1000
  offset?: number;
  order?: 'asc' | 'desc';
  startTime?: number;    // Unix timestamp
  endTime?: number;
  type?: 'all' | 'transfer' | 'swap' | 'stake';
}

wallet.getTokenAccounts(address)

Get all SPL token accounts owned by the wallet. Returns:
path=null start=null
interface TokenAccount {
  mint: string;
  balance: number;
  decimals: number;
  uiAmount: number;
  symbol: string;
  name: string;
  logoUri?: string;
}[]

Analytics Module

analytics.getPrediction(address)

Get AI-powered predictions for wallet behavior. Returns:
path=null start=null
interface Prediction {
  address: string;
  nextTransactionProbability: number;
  estimatedTimeToNext: number;
  likelyAction: 'buy' | 'sell' | 'transfer' | 'stake';
  confidence: number;
  factors: string[];
}

analytics.getAnomalies(address, timeRange)

Detect anomalous transaction patterns.

WebSocket Streaming

Real-time wallet monitoring via WebSocket connections.
path=null start=null
const stream = client.wallet.subscribe(address);

stream.on('transaction', (tx: Transaction) => {
  console.log('New TX:', tx.signature);
});

stream.on('balance', (balance: number) => {
  console.log('Balance:', balance);
});

stream.on('token', (token: TokenUpdate) => {
  console.log('Token update:', token);
});

stream.on('error', (err: Error) => {
  console.error('Stream error:', err);
});

// Unsubscribe
stream.close();

Rate Limits

TierRequests/MinWebSocket ConnectionsHistorical Data
Free100530 days
Developer5002590 days
Pro20001001 year
EnterpriseUnlimitedUnlimited5 years

Python SDK

path=null start=null
from solar_sentra import SolarSentra

client = SolarSentra(
    api_key="your_api_key",
    network="mainnet-beta"
)

# Track wallet
wallet = client.wallet.track("7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU")
print(wallet.balance)

# Get transactions
transactions = client.wallet.get_transactions(
    wallet.address,
    limit=50
)

for tx in transactions:
    print(f"{tx.signature}: {tx.type}")

Error Codes

CodeDescriptionAction
1001Invalid API keyCheck credentials
1002Rate limit exceededImplement backoff
1003Invalid wallet addressValidate input
2001Network errorRetry request
2002TimeoutIncrease timeout value
3001Internal server errorContact support
All SDK methods return Promises in TypeScript and coroutines in Python async contexts.
I