Transactions
Read the orders your integration created, whatever their direction. GET /v1/mints/{referenceId}, GET /v1/redeems/{referenceId} and GET /v1/transfers/{referenceId} each return one direction only. The two routes on this page return mint, redeem and transfer orders alike, and both need the transaction:read scope.
Every order is returned as the same object. status and phase are explained in core concepts and the amount fields in amounts.
List orders
/v1/transactionsPlanned
This is part of the v1 contract and is documented ahead of release. It is not yet served in production. Build against it only once this notice is gone.
Returns the orders you created, newest first, in pages. Filters narrow the result; leave them out to list every order. Each element of transactions is a full order object. nextCursor is null on the final page; otherwise pass it back as cursor to fetch the next page.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
direction | string | no | MINT, REDEEM or TRANSFER |
status | string | no | One of payment_pending, pending, processing, completed, failed, cancelled |
createdAfter | string | no | ISO 8601 timestamp. Only orders created after this instant |
createdBefore | string | no | ISO 8601 timestamp. Only orders created before this instant |
limit | number | no | 1 to 100. Default 50 |
cursor | string | no | Opaque value taken from nextCursor on the previous page |
curl "https://sandbox-api.myrt.money/v1/transactions?direction=MINT&status=completed&limit=50" \
-H "Authorization: Bearer $MYRT_API_KEY"const res = await fetch(
"https://sandbox-api.myrt.money/v1/transactions?direction=MINT&status=completed&limit=50",
{ headers: { Authorization: `Bearer ${process.env.MYRT_API_KEY}` } }
);
const page = await res.json();import os, requests
res = requests.get(
"https://sandbox-api.myrt.money/v1/transactions?direction=MINT&status=completed&limit=50",
headers={"Authorization": f"Bearer {os.environ['MYRT_API_KEY']}"},
timeout=30,
)
page = res.json()Response 200 OK
{
"ok": true,
"transactions": [
{
"referenceId": "acme:mint:2026-09-10:00417",
"status": "completed",
"phase": "COMPLETED",
"direction": "MINT",
"chainId": 1,
"network": "Ethereum",
"tokenAddress": "0x...",
"walletAddress": "0xAbC0000000000000000000000000000000000001",
"amounts": {
"myr": "1000.00",
"myrt": "1000.00",
"feeMyr": "1.00",
"amountRaw": "1000000000",
"decimals": 6
},
"blockchain": { "txHash": "0x...", "blockNumber": "20481922" },
"timestamps": { "createdAt": "2026-09-10T04:12:33.918Z", "updatedAt": "2026-09-10T04:19:02.441Z" }
}
],
"nextCursor": null
}A filter that fails validation returns 400 BAD_REQUEST. Use this list to reconcile your own records against MYRT once a day; see best practices.
Errors
| Code | HTTP |
|---|---|
BAD_REQUEST | 400 |
UNAUTHORIZED | 401 |
SCOPE_DENIED | 403 |
See errors for the meaning of each code.
Read an order
/v1/transactions/{referenceId}Returns the current state of an order you created, whatever its direction. A mint, redeem or transfer referenceId all resolve here. An order created by another integration returns 404 NOT_FOUND, the same as an order that does not exist.
Path parameters
| Parameter | Type | Notes |
|---|---|---|
referenceId | string | The referenceId you supplied on creation. See reference IDs |
curl https://sandbox-api.myrt.money/v1/transactions/acme:redeem:2026-09-10:00092 \
-H "Authorization: Bearer $MYRT_API_KEY"const res = await fetch(
"https://sandbox-api.myrt.money/v1/transactions/acme:redeem:2026-09-10:00092",
{ headers: { Authorization: `Bearer ${process.env.MYRT_API_KEY}` } }
);
const order = await res.json();import os, requests
res = requests.get(
"https://sandbox-api.myrt.money/v1/transactions/acme:redeem:2026-09-10:00092",
headers={"Authorization": f"Bearer {os.environ['MYRT_API_KEY']}"},
timeout=30,
)
order = res.json()Response 200 OK
{
"ok": true,
"referenceId": "acme:redeem:2026-09-10:00092",
"status": "completed",
"phase": "COMPLETED",
"direction": "REDEEM",
"chainId": 1,
"network": "Ethereum",
"tokenAddress": "0x...",
"walletAddress": "0xAbC0000000000000000000000000000000000001",
"amounts": {
"myr": "500.00",
"myrt": "500.00",
"feeMyr": "0.00",
"amountRaw": "500000000",
"decimals": 6
},
"blockchain": { "txHash": "0x...", "blockNumber": "20481922" },
"timestamps": { "createdAt": "2026-09-10T04:12:33.918Z", "updatedAt": "2026-09-10T04:19:02.441Z" }
}Errors
| Code | HTTP |
|---|---|
INVALID_REFERENCE_ID | 400 |
NOT_FOUND | 404 |
See errors for the meaning of each code.
