{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ApiResponseWalletProfile",
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"address": {
"description": "Wallet address, lowercase.",
"type": "string"
},
"metrics": {
"description": "Behavioral metrics for one wallet. Ratios run from 0 to 1 unless noted; USD values use fill or order price times size.",
"type": "object",
"properties": {
"active_hours": {
"description": "Hours with at least one order.",
"type": "integer"
},
"avg_order_size_usd": {
"description": "Average order notional in USD.",
"type": "number"
},
"buy_volume_usd": {
"description": "Buy fill volume in USD.",
"type": "number"
},
"cancel_rate": {
"description": "Share of orders canceled.",
"type": "number"
},
"cloid_ratio": {
"description": "Share of fills that carried a client order ID.",
"type": "number"
},
"fill_rate": {
"description": "Share of orders filled.",
"type": "number"
},
"ioc_ratio": {
"description": "Share of orders that are immediate-or-cancel.",
"type": "number"
},
"liquidation_count": {
"description": "Fills that were liquidations.",
"type": "integer"
},
"long_short_ratio": {
"description": "Buy volume divided by sell volume (0 when there is no sell volume). Not bounded by 1.",
"type": "number"
},
"maker_ratio": {
"description": "Share of fill volume that was maker volume.",
"type": "number"
},
"max_order_size_usd": {
"description": "Largest order notional in USD.",
"type": "number"
},
"max_single_fill_usd": {
"description": "Largest single fill in USD.",
"type": "number"
},
"median_cancel_speed_ms": {
"description": "Median time from placement to cancel, in milliseconds.",
"type": "number"
},
"order_to_trade_ratio": {
"description": "Orders placed per fill (0 when there are no fills).",
"type": "number"
},
"post_only_ratio": {
"description": "Share of orders that are post-only.",
"type": "number"
},
"realized_pnl_usd": {
"description": "Realized PnL from closing fills.",
"type": "number"
},
"sell_volume_usd": {
"description": "Sell fill volume in USD.",
"type": "number"
},
"top_builder": {
"description": "Builder address with the most orders. Omitted when no order used a builder.",
"type": "string"
},
"total_builder_fees_paid": {
"description": "Builder and deployer fees paid.",
"type": "number"
},
"total_fees_usd": {
"description": "Fees paid, net of rebates.",
"type": "number"
},
"total_fills": {
"description": "Fills.",
"type": "integer"
},
"total_orders": {
"description": "Orders placed.",
"type": "integer"
},
"total_priority_gas_paid": {
"description": "Priority gas paid.",
"type": "number"
},
"total_volume_usd": {
"description": "Fill volume in USD.",
"type": "number"
},
"tpsl_ratio": {
"description": "Share of orders that are position TP/SL orders.",
"type": "number"
},
"trigger_order_ratio": {
"description": "Share of orders that are trigger orders.",
"type": "number"
},
"twap_fill_ratio": {
"description": "Share of fills that came from a TWAP.",
"type": "number"
},
"unique_coins_traded": {
"description": "Markets with orders.",
"type": "integer"
},
"unique_fill_coins": {
"description": "Markets with fills.",
"type": "integer"
},
"uses_builder": {
"description": "True when any order went through a builder.",
"type": "boolean"
},
"uses_cloid": {
"description": "True when any fill carried a client order ID.",
"type": "boolean"
},
"uses_priority_gas": {
"description": "True when any fill paid priority gas.",
"type": "boolean"
},
"uses_tpsl": {
"description": "True when the wallet placed any position TP/SL order.",
"type": "boolean"
},
"uses_twap": {
"description": "True when any fill came from a TWAP.",
"type": "boolean"
}
}
},
"period": {
"description": "Lookback window that was applied, for example `24h`.",
"type": "string",
"example": "24h"
}
}
},
"meta": {
"description": "Response metadata",
"type": "object",
"properties": {
"count": {
"description": "Number of records returned",
"type": "integer"
},
"coverage_from": {
"description": "Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.",
"type": "string",
"format": "date-time"
},
"has_more": {
"description": "Present on cursor-paged routes: true when another page exists. `next_cursor` is present exactly when it is true.",
"type": "boolean"
},
"next_cursor": {
"description": "Cursor for pagination (timestamp). Use this value as the `cursor` parameter to fetch the next page of results.",
"type": "string",
"nullable": true
},
"notice": {
"description": "Human-readable advisory about the response. Used when the requested window ends before coverage begins for the symbol, and on CVD responses that are one page of several; may carry other advisories in future.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"symbol": {
"description": "Present on per-symbol routes: the symbol the response covers.",
"type": "string"
},
"venue": {
"description": "Present on per-symbol routes: the venue the response covers, for example `hyperliquid` or `hip3`.",
"type": "string"
}
}
},
"success": {
"type": "boolean",
"example": true
}
}
}