Performance
Calculate PnL performance metrics between two dates for wallets, positions, assets, or holdings.
Calculate performance metrics (PnL, ROI, TWR, APR, APY) between two dates for organizations and wallets. This endpoint returns a hierarchical structure: Organizations -> Wallets -> Protocols -> Positions -> Assets/Holdings. It includes Merkl rewards as positions within the Merkl protocol. Query Parameters:
Either
org_idorwallet_addressis required (at least one must be provided) -org_id- Returns performance for all wallets in the organization -wallet_address- Returns performance for a specific wallet - Both can be provided together to filter wallets within an organization The response includes comprehensive metrics at each level of the hierarchy, with positions and assets sorted by final value (descending).
API key for authentication
Organization ID to calculate performance for all wallets in the organization
org-123Wallet address to calculate performance for. Can be used alone or combined with org_id.
0x1234567890abcdef1234567890abcdef12345678Pattern: ^0x[a-fA-F0-9]{40}$Start date for performance calculation. Accepts simple format (2025-11-03) or full ISO 8601 (2025-11-03T00:00:00Z)
2025-11-03End date for performance calculation. Accepts simple format (2025-11-03) or full ISO 8601 (2025-11-03T23:59:59Z)
2025-11-03Successful response with performance metrics
Start date for the performance calculation period
End date for the performance calculation period
Bad Request - Invalid parameters
Not Found - No data found matching the criteria
Internal Server Error
GET /api/performance?from_date=2025-11-03&to_date=2025-11-03 HTTP/1.1
x-api-Key: YOUR_API_KEY
Accept: */*
{
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": "2026-01-01T00:00:00.000Z",
"organizations": [
{
"org_name": "text",
"org_id": "text",
"number_of_wallets": 1,
"metrics": {
"realized_pnl_usd": 1,
"unrealized_pnl_usd": 1,
"strategy_pnl": 1,
"market_pnl": 1,
"inflow_usd": 1,
"outflow_usd": 1,
"net_flow_usd": 1,
"initial_value_usd": 1,
"final_value_usd": 1,
"value_change_usd": 1,
"roi_pct": 1,
"time_weighted_return_pct": 1,
"apr_pct": 1,
"apy_pct": 1
},
"wallets": [
{
"wallet_address": "text",
"wallet_name": "text",
"metrics": {
"realized_pnl_usd": 1,
"unrealized_pnl_usd": 1,
"strategy_pnl": 1,
"market_pnl": 1,
"inflow_usd": 1,
"outflow_usd": 1,
"net_flow_usd": 1,
"initial_value_usd": 1,
"final_value_usd": 1,
"value_change_usd": 1,
"roi_pct": 1,
"time_weighted_return_pct": 1,
"apr_pct": 1,
"apy_pct": 1
},
"protocols": [
"[Circular Reference]"
],
"holdings": [
{
"id": "text",
"chain_id": 1,
"name": "text",
"token": {
"address": "text",
"symbol": "text",
"decimals": 1
},
"initial": {
"balance": 1,
"price_usd": 1,
"balance_usd": 1
},
"final": {
"balance": 1,
"price_usd": 1,
"balance_usd": 1
},
"flows": {
"in": {
"token_units": 1,
"usd": 1,
"tx_hashes": [
"text"
]
},
"out": {
"token_units": 1,
"usd": 1,
"tx_hashes": [
"text"
]
}
},
"metrics": {
"realized_pnl_usd": 1,
"unrealized_pnl_usd": 1,
"strategy_pnl": 1,
"market_pnl": 1,
"inflow_usd": 1,
"outflow_usd": 1,
"net_flow_usd": 1,
"initial_value_usd": 1,
"final_value_usd": 1,
"value_change_usd": 1,
"roi_pct": 1,
"time_weighted_return_pct": 1,
"apr_pct": 1,
"apy_pct": 1
}
}
]
}
]
}
]
}Last updated