Object IDs
Every object has a prefixed, opaque ID. Store it as a string of up to 255 characters.
Every object carries an ID with a prefix that names its type.
| Prefix | Object | Example |
|---|---|---|
pay_ | Payment | pay_1042 |
pi_ | Payment intent | pi_3f2c9e1a7b6d4c0e9f8a1b2c3d4e5f60 |
re_ | Refund | re_4Fq9LwP2mZt8Xk3Vb7Ns1HdQ |
tml_ | Terminal | tml_ZP-4821-K |
evt_ | Event | evt_7Hq2Zp9LwK4mXr8Vb3Ns1Td5 |
we_ | Webhook endpoint | we_2Lk9Qm4Xz7Pv1Rt8Wb3Ns6Hd |
wdl_ | Webhook delivery | wdl_8Tq3Zm1Xk6Pv9Rw2Lb4Ns7Hd |
Treat IDs as opaque
- Store IDs as strings, up to 255 characters. Compare them exactly (they are case-sensitive).
- Do not parse them or derive meaning from their shape. The part after the prefix may change format without a new API version.
- Do not sort by ID. Use
createdfor time order. Lists are already newest first.
IDs from other systems
| Field | What it is |
|---|---|
order_id | Your order reference, 1-8 characters, written on-chain with the settlement. Unique per account and mode. |
metadata | Up to 20 string pairs you attach to intents and refunds, returned unchanged. |
tx_hash | The Monad transaction hash (0x…, 64 hex characters). |
payer | The customer's wallet address, lowercase. |
label (terminal) | The terminal ID shown on the device, for example ZP-4821-K. |
Request IDs
Every response carries a Request-Id header. It identifies the request, not an object. Quote it when you contact support. See Request IDs.