> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notional.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Report Deposit

## Endpoint

```
POST /exchange
```

## Request Body

| Parameter              | Type   | Description                                                                                         |
| ---------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| `action`\*             | object | See below                                                                                           |
| `action.type`\*        | string | Must be `"reportDeposit"`                                                                           |
| `action.txHash`\*      | string | Hyperliquid transaction hash (normalized to lowercase), e.g., `"0x1234567890abcdef..."`             |
| `action.userAddress`\* | string | User's wallet address who executed the deposit, e.g., `"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"` |

## Response

```json theme={null}
{
  "success": true,
  "txHash": "0x1234567890abcdef..."
}
```

### Response Fields

| Field     | Type    | Description                                                                  |
| --------- | ------- | ---------------------------------------------------------------------------- |
| `success` | boolean | true if the report was accepted and emitted into the deposit processing flow |
| `txHash`  | string  | Normalized transaction hash                                                  |

## Example Request

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

## Error Responses

```json theme={null}
{
  "error": "Transaction hash not found on blockchain"
}
```

## Notes

<Note>
  * Wait for the Hyperliquid ledger entry to exist before reporting. - Only report your own
    deposits. - Notional verifies the matching Hyperliquid ledger entry, the destination protocol
    address, and the reporting user before emitting the deposit event. - Auto-verification currently
    supports deposit ledger entries that resolve to a `send` delta for the reporting user. - Accepted
    deposits are processed by Notional; deposits above policy limits may still end up segregated. -
    Spot USDC deposits are auto-swept from spot to perp after verification. - No signature or nonce is
    required for `reportDeposit`.
</Note>
