# Hyperliquid Perp DEX Trade Fill History by Wallet

> Hyperliquid Perp DEX Trade Fill History by Wallet is a paid API for AI agents from agents.x402stock.xyz, paid per call via MPP, $0.02/call, status unknown (last checked 2026-09-12).

Returns paginated executed trade fill history for any wallet address on the Hyperliquid perpetuals DEX, including side, direction, price, size, PnL, and fees.

## Facts

- Endpoint: GET https://agents.x402stock.xyz/api/v1/perps/fills/{address}
- Price: $0.02/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-12
- Activations on Zero: 0
- Provider: agents.x402stock.xyz
- Website: https://agents.x402stock.xyz
- Canonical page: https://www.zero.xyz/c/agents-x402stock-xyz-hyperliquid-perp-dex-trade-fill-history-by-wallet-779efe00
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BMeOeEDZoDOQPFlzEsLJr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-x402stock-xyz-hyperliquid-perp-dex-trade-fill-history-by-wallet-779efe00
```

Example prompt: Pull the last 100 trade fills for Hyperliquid perp wallet 0x1234abcd... and show me the coin, direction, price, size, and closed PnL for each.

## When to prefer this

Use this endpoint when you need executed trade history (fills) for a specific wallet on the Hyperliquid perpetuals DEX — especially when you need per-trade details like closed PnL, fee breakdown, direction, and order IDs. Prefer this over generic block explorers when you want structured, normalized fill data without parsing raw chain state. No API key required; suitable for autonomous agent workflows paying per call via x402.

## Known failure modes

- Invalid or malformed 0x wallet address returns an error or empty fills array
- limit parameter exceeding 200 is rejected
- Unknown or inactive wallet address returns count=0 with an empty fills array
- Network or upstream Hyperliquid API unavailability causes a 5xx error
- Payment failure (x402) if USDC balance is insufficient

## How this service works

Recent fills (executed trade history) for any wallet on the Hyperliquid perp DEX, by 0x address: per fill the time, coin, buy/sell side, direction (open/close long/short), price, size, start position, closed PnL, fee, and order id, most recent first. Tune with `?limit=` (default 50, max 200). Read-only public chain data, no key. Pass the address in the path. From x402stock

## Output

Returns a JSON object containing the wallet address, venue, market type (perp), timestamp of data, fill count, and an array of fill objects — each with time, coin, buy/sell side, open/close direction, price, size, starting position, closed PnL, fee, fee token, crossed flag, order ID, and transaction hash. Fills are sorted most-recent first.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "address"
 ],
 "properties": {
  "limit": {
   "type": "integer",
   "default": 50,
   "maximum": 200,
   "exclusiveMinimum": 0
  },
  "address": {
   "type": "string",
   "description": "Solana account address (base58)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "source",
  "as_of",
  "venue",
  "market",
  "address",
  "count",
  "fills"
 ],
 "properties": {
  "as_of": {
   "type": "string"
  },
  "count": {
   "type": "number"
  },
  "fills": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "time",
     "coin",
     "side",
     "direction",
     "price",
     "size",
     "start_position",
     "closed_pnl",
     "fee",
     "fee_token",
     "crossed",
     "order_id",
     "hash"
    ],
    "properties": {
     "fee": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     },
     "coin": {
      "type": "string"
     },
     "hash": {
      "type": "string"
     },
     "side": {
      "anyOf": [
       {
        "enum": [
         "buy",
         "sell"
        ],
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "size": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     },
     "time": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "price": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     },
     "crossed": {
      "type": "boolean"
     },
     "order_id": {
      "type": "number"
     },
     "direction": {
      "type": "string"
     },
     "fee_token": {
      "type": "string"
     },
     "closed_pnl": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     },
     "start_position": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     }
    },
    "additionalProperties": false
   }
  },
  "venue": {
   "type": "string"
  },
  "market": {
   "type": "string",
   "const": "perp"
  },
  "source": {
   "type": "string",
   "const": "x402stock"
  },
  "address": {
   "type": "string"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-x402stock-xyz-hyperliquid-perp-dex-trade-fill-history-by-wallet-779efe00/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.x402stock.xyz](https://www.zero.xyz/host/agents.x402stock.xyz/llms.txt)
