Wallet Batch API
Overview
The Wallet Batch API provides endpoints for analyzing multiple Solana wallet addresses in batch. It offers a comprehensive analysis of trading performance, including metrics like PnL (Profit and Loss), trading patterns, and fee analysis.
Key Features
Batch Processing: Analyze up to 5 wallet addresses simultaneously
Asynchronous Processing: Since batch processing can be time-consuming, we use asynchronous processing to prevent delays and ensure that requests are handled correctly, avoiding timeouts.
Comprehensive Analysis: Detailed metrics including:
General trading performance
Closed trades analysis
Fee analysis
Trading venue usage
Time-based trading patterns
Available Endpoints
Process Wallet Batch (
POST /process_wallet_batch
)Initiates analysis for a batch of wallet addresses
Returns a task ID for tracking progress
Check Batch Status (
GET /batch_status/{task_id}
)Retrieves the status and results of a batch processing task
Provides detailed analysis results when processing is complete
Rate Limits
Maximum 5 wallet addresses per batch request
Requests limites are based on the API key tier defined below
Process Wallet Batch
Process multiple wallet addresses in a single batch request.
Endpoint
POST /process_wallet_batch
Request Body
Response
When request is accepted:
Check Batch Status
Check the status of a batch processing task.
Endpoint
GET /batch_status/{task_id}
Response
When processing:
When complete with some errors:
When all wallets fail:
When task not found:
Common Error Messages
"No swaps found"
The wallet has no swap transactions in the analyzed period
"Invalid wallet address"
The provided address is not a valid Solana address
"Error processing wallet"
Generic error occurred while processing the wallet
Error Responses
400 Bad Request
: When more than 5 wallet addresses are provided
500 Internal Server Error
: When an error occurs during processing
Summary Fields Documentation
General Performance
These fields provide an overview of the wallet's trading activity:
first_trade_timestamp
ISO datetime
Date and time of the wallet's first trade in the analyzed period
last_trade_timestamp
ISO datetime
Date and time of the wallet's most recent trade
tokens_traded
integer
Total number of unique tokens traded
trades_closed
integer
Number of completed trading positions
trades_open
integer
Number of currently open positions
total_sol_spent
float
Total amount of SOL used for purchases
total_sol_received
float
Total amount of SOL received from sales
net_sol
float
Net profit/loss in SOL (total_sol_received - total_sol_spent)
Closed Trades Overview
These fields analyze the performance of completed trades:
winners
integer
Number of trades that resulted in profit
losses
integer
Number of trades that resulted in loss
win_rate_percent
float
Percentage of winning trades (winners / (winners + losses) * 100)
average_trade_size_sol
float
Average amount of SOL used per trade
mean_pnl_sol
float
Average profit/loss per trade in SOL
mean_pnl_percent
float
Average profit/loss per trade as a percentage
std_pnl_sol
float
Standard deviation of profit/loss in SOL (volatility measure)
std_pnl_percent
float
Standard deviation of profit/loss percentage
min_pnl_sol
float
Largest loss in SOL
min_pnl_percent
float
Largest loss as a percentage
max_pnl_sol
float
Largest profit in SOL
max_pnl_percent
float
Largest profit as a percentage
total_pnl_sol
float
Total profit/loss in SOL
total_pnl_percent
float
Total profit/loss as a percentage
Percentile Metrics
These fields show the distribution of profits/losses:
10th_percentile_pnl_sol
float
10% of trades performed worse than this SOL value
10th_percentile_pnl_percent
float
10% of trades performed worse than this percentage
25th_percentile_pnl_sol
float
25% of trades performed worse than this SOL value
25th_percentile_pnl_percent
float
25% of trades performed worse than this percentage
50th_percentile_pnl_sol
float
Median profit/loss in SOL
50th_percentile_pnl_percent
float
Median profit/loss percentage
75th_percentile_pnl_sol
float
75% of trades performed worse than this SOL value
75th_percentile_pnl_percent
float
75% of trades performed worse than this percentage
90th_percentile_pnl_sol
float
90% of trades performed worse than this SOL value
90th_percentile_pnl_percent
float
90% of trades performed worse than this percentage
Fees
Information about transaction fees:
total_fee_spent_sol
float
Total amount spent on transaction fees in SOL
avg_fee_per_trade_sol
float
Average fee per trade in SOL
Wallet
Wallet identification:
wallet
string
The wallet address being analyzed
Venues
Trading venue information:
venues_list
string
Comma-separated list of trading platforms used (e.g., "Jupiter, Raydium, Orca")
Deltas
Time-based analysis of trading patterns:
overall_mean_delta
integer
Average time between trades in seconds
average_trades_per_token
float
Average number of trades performed per unique token
overall_min_delta
integer
Shortest time between any two trades in seconds
overall_max_delta
integer
Longest time between any two trades in seconds
10th_percentile
integer
10% of trade intervals are shorter than this (seconds)
25th_percentile
integer
25% of trade intervals are shorter than this (seconds)
50th_percentile
integer
Median time between trades in seconds
75th_percentile
integer
75% of trade intervals are shorter than this (seconds)
90th_percentile
integer
90% of trade intervals are shorter than this (seconds)
Notes:
All SOL values are rounded to 5 decimal places
Percentages are expressed as floating-point numbers (e.g., 75.0 for 75%)
Time deltas are in seconds
Timestamps are in ISO 8601 format
PnL stands for Profit and Loss
Example Usage
Python Example
JavaScript/Node.js Example
cURL Example
Rate Limits and API Keys
Different API key tiers have different rate limits:
Ultimate
5 req/min
100/day
Unlimited
10 req/min
Unlimited
When rate limits are exceeded, the API will return a 429 status code with an error message. It's recommended to implement exponential backoff in your client code to handle rate limiting gracefully.
Error Handling
Common error responses:
Best Practices
Store API Keys Securely: Never expose your API key in client-side code or public repositories.
Handle Rate Limits: Implement proper error handling and backoff strategies for rate limits.
Batch Efficiently: Group wallet addresses into batches of up to 5 to minimize API calls.
Monitor Usage: Keep track of your API usage to stay within your tier's limits.
Use Async Endpoints: The batch processing is asynchronous - always check the task status endpoint for results.
Last updated