Skip to main content

Endpoint

POST /info

Request Body

ParameterTypeDescription
type*stringMust be "userFills"
user*stringUser’s wallet address (case-insensitive), e.g., "0x1234567890abcdef..."

Response

[
  {
    "coin": "BTC",
    "px": "50000.00",
    "sz": "0.1",
    "side": "B",
    "time": 1701234567890,
    "startPosition": "0",
    "dir": "Open Long",
    "closedPnl": "0",
    "hash": "0x1234abcd...",
    "oid": 12345,
    "crossed": true,
    "fee": "2.50",
    "tid": 67890,
    "feeToken": "USDC"
  }
]

Response Fields

FieldTypeDescription
coinstringAsset symbol (BTC, ETH, etc.)
pxstringFill price
szstringFill size
sidestring”B” for buy, “A” for sell/ask
timenumberFill timestamp (ms)
startPositionstringPosition size before fill
dirstringDirection (Open Long, Close Short, etc.)
closedPnlstringRealized PnL from closing position
hashstringTransaction hash
oidnumberOrder ID
crossedbooleanTrue if taker order, false if maker
feestringTrading fee paid
tidnumberTrade ID
feeTokenstringFee token (always “USDC”)

Example Request

curl -X POST https://api.notional.xyz/info \
  -H "Content-Type: application/json" \
  -d '{
    "type": "userFills",
    "user": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
  }'

Error Responses

{
  "error": "Missing 'user' parameter for user fills"
}
HTTP Status: 400 Bad Request

Notes

  • Fills returned in reverse chronological order (newest first)
  • crossed: true = taker, crossed: false = maker
  • closedPnl is only non-zero when closing a position
  • Direction values: "Open Long", "Open Short", "Close Long", "Close Short"