# Check the status of a Steam top-up by id or custom_id

`GET /v1/steam-topup`

Pass exactly one of `id` (the pay id returned on creation) or `custom_id` (your own id).

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `api` | query | string | required | Your [WAXPEER API](https://waxpeer.com/profile/user) |
| `id` | query | integer | optional | Pay id returned by POST /v1/steam-topup |
| `custom_id` | query | string | optional | Your custom_id passed on creation |

## Example (curl)

```bash
curl -X GET 'https://api.waxpeer.com/v1/steam-topup?api=%7B%7BAPI_KEY%7D%7D&id=12345'
```

## Example response

```json
{
  "success": true,
  "msg": null,
  "topup": {
    "id": 812345,
    "custom_id": "order-123",
    "status": "completed",
    "amount": 5000,
    "give_amount": 4750,
    "steam_login": "gaben",
    "created": "2026-01-01T00:00:00.000Z",
    "updated": "2026-01-01T00:00:00.000Z"
  }
}
```

## Responses

- `200` Top-up state

## Notes for agents

- Auth is the query parameter `api`, not an Authorization header.
- See [/statuses.md](/statuses.md) for numeric trade status plus `escrow_status` / `release_date`.
- Prefer GET /v2/search-items-by-name over v1.
- Do not use GET /v1/ready-to-transfer-p2p; use the [trade websocket](/websocket.md).
