Skip to main content

Endpoint

POST /exchange

Request Body

ParameterTypeDescription
action*objectSee below
action.type*stringMust be "reportDeposit"
action.txHash*stringHyperLiquid transaction hash (normalized to lowercase), e.g., "0x1234567890abcdef..."
action.userAddress*stringUser’s wallet address who executed the deposit, e.g., "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"

Response

{
  "success": true,
  "txHash": "0x1234567890abcdef..."
}

Response Fields

FieldTypeDescription
successbooleantrue if deposit was successfully reported and credited
txHashstringNormalized transaction hash

Example Request

curl -X POST https://api.notional.xyz/exchange \
  -H "Content-Type: application/json" \
  -d '{
    "action": {
      "type": "reportDeposit",
      "txHash": "0x1234567890abcdef...",
      "userAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
    }
  }'

Error Responses

{
  "error": "Transaction hash not found on blockchain"
}

Notes

  • Wait for blockchain confirmation before reporting
  • Only report your own deposits
  • Deposits credited immediately after validation
  • USDC deposits auto-sweep from spot to perp account
  • No signature or nonce is required for reportDeposit