Audit a Hyperliquid wallet address you already know: every open perpetual position with…
Audit a Hyperliquid wallet address you already know: every open perpetual position with side, size, leverage, unrealized PnL, liquidation price, and distance-to-liquidation percentage. Does not discover or rank wallets - Hyperliquid's public API has no leader…
by alphapipeline-eu.onrender.com · discovered, not yet claimed by its owner · updated 2026-10-08
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
Audit a Hyperliquid wallet address you already know: every open perpetual position with side, size, leverage, unrealized PnL, liquidation price, and distance-to-liquidation percentage. Does not discover or rank wallets - Hyperliquid's public API has no leaderboard endpoint, so this only audits an address you supply. Paid in USDC on Base.
Tags: crypto · derivatives · hyperliquid · risk · bazaar
Call contract
- Method
- GET
- Input
- query parameters
- Output
- json
- Last paid call
- 2026-10-08
{
"address": "0x31ca8395cf837de08b24da3f660e77761dfb974"
}{
"account_value_usd": 13104.51,
"data_source": "Hyperliquid clearinghouseState (official public API)",
"generated_at": {
"kst": "2026-09-07 21:00:00 KST",
"utc": "2026-09-07T12:00:00Z"
},
"margin_usage_pct": 0.04,
"notice": "This tool audits a wallet address you already know - it does not discover or rank 'smart money' wallets, because Hyperliquid's public API has no leaderboard or large-trader disclosure endpoint. mark_price is derived from position_value_usd / size (Hyperliquid does not return a separate live quote in this response), so it can lag the true mark price briefly during fast moves. risk_flags are computed from fixed numeric thresholds only (leverage >= 20x -> HIGH_LEVERAGE, distance_to_liquidation_pct < 15 -> NEAR_LIQUIDATION), not a judgment call about the trader. max_leverage and return_on_equity_pct are Hyperliquid's own reported fields (not derived by this tool).",
"open_position_count": 1,
"positions": [
{
"coin": "ETH",
"distance_to_liquidation_pct": 4.02,
"entry_price": 2986.3,
"leverage": 20,
"leverage_type": "isolated",
"liquidation_price": 2866.27,
"mark_price": 2986.5,
"max_leverage": 50,
"position_value_usd": 100.03,
"return_on_equity_pct": -2.68,
"side": "LONG",
"size": 0.0335,
"unrealized_pnl_usd": -0.0134
}
],
"risk_flags": [],
"total_margin_used_usd": 4.97,
"total_notional_position_usd": 100.03,
"wallet_address": "0x31ca8395cf837de08b24da3f660e77761dfb974",
"withdrawable_usd": 13099.55
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/30143.jsonfor the price and payment options. - Pay. Call
GET https://alphapipeline-eu.onrender.com/v1/derivatives/whale-position-audit. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.02 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 3 calls · 2 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.02 | 0x2bcfA4F7E1fA5E96934846A7dEa623398Ed7f752 | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x2bcfA4F7E1fA5E96934846A7dEa623398Ed7f752",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "20000",
"amountUsd": 0.02,
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"properties": {
"account_value_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Account Value Usd"
},
"data_source": {
"title": "Data Source",
"type": "string"
},
"generated_at": {
"properties": {
"kst": {
"title": "Kst",
"type": "string"
},
"utc": {
"title": "Utc",
"type": "string"
}
},
"required": [
"utc",
"kst"
],
"title": "TimestampPair",
"type": "object"
},
"margin_usage_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Margin Usage Pct"
},
"notice": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notice"
},
"open_position_count": {
"title": "Open Position Count",
"type": "integer"
},
"positions": {
"default": [],
"items": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
},
"distance_to_liquidation_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "abs(mark_price - liquidation_price) / mark_price * 100. Null when Hyperliquid reports no liquidation price for this position.",
"title": "Distance To Liquidation Pct"
},
"entry_price": {
"title": "Entry Price",
"type": "number"
},
"leverage": {
"title": "Leverage",
"type": "number"
},
"leverage_type": {
"description": "cross or isolated, as reported by Hyperliquid.",
"title": "Leverage Type",
"type": "string"
},
"liquidation_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Liquidation Price"
},
"mark_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Derived as position_value_usd / size, since clearinghouseState does not return a live mark price directly. Not a separately-fetched live quote.",
"title": "Mark Price"
},
"max_leverage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Hyperliquid's own reported leverage ceiling for this asset/account setting - not the leverage actually in use (see 'leverage' for that).",
"title": "Max Leverage"
},
"position_value_usd": {
"title": "Position Value Usd",
"type": "number"
},
"return_on_equity_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Hyperliquid's own reported return-on-equity for this position, as a percentage. This is Hyperliquid's own ROE definition, which can differ from a naive unrealized_pnl_usd / margin_used calculation.",
"title": "Return On Equity Pct"
},
"side": {
"description": "LONG or SHORT, derived from the sign of Hyperliquid's szi (signed size).",
"title": "Side",
"type": "string"
},
"size": {
"title": "Size",
"type": "number"
},
"unrealized_pnl_usd": {
"title": "Unrealized Pnl Usd",
"type": "number"
}
},
"required": [
"coin",
"side",
"size",
"entry_price",
"position_value_usd",
"leverage",
"leverage_type",
"unrealized_pnl_usd"
],
"title": "WhalePosition",
"type": "object"
},
"title": "Positions",
"type": "array"
},
"risk_flags": {
"default": [],
"items": {
"type": "string"
},
"title": "Risk Flags",
"type": "array"
},
"total_margin_used_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Total Margin Used Usd"
},
"total_notional_position_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Total Notional Position Usd"
},
"wallet_address": {
"title": "Wallet Address",
"type": "string"
},
"withdrawable_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Withdrawable Usd"
}
},
"required": [
"generated_at",
"wallet_address",
"open_position_count",
"data_source"
],
"title": "WhalePositionAuditResponse",
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {
"account_value_usd": null,
"data_source": "string",
"generated_at": {
"kst": "string",
"utc": "string"
},
"margin_usage_pct": null,
"notice": null,
"open_position_count": 0,
"positions": [],
"risk_flags": [],
"total_margin_used_usd": null,
"total_notional_position_usd": null,
"wallet_address": "string",
"withdrawable_usd": null
},
"type": "string"
}Examples
curl "https://alphapipeline-eu.onrender.com/v1/derivatives/whale-position-audit"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://alphapipeline-eu.onrender.com/v1/derivatives/whale-position-audit");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://alphapipeline-eu.onrender.com/v1/derivatives/whale-position-audit")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- alphapipeline-eu.onrender.com
- Endpoint
- https://alphapipeline-eu.onrender.com/v1/derivatives/whale-position-audit
- Machine-readable
/resources/30143.json