Skip to content

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

GET/v1/transactionstransaction:readPlanned

Planned

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

ParameterTypeRequiredNotes
directionstringnoMINT, REDEEM or TRANSFER
statusstringnoOne of payment_pending, pending, processing, completed, failed, cancelled
createdAfterstringnoISO 8601 timestamp. Only orders created after this instant
createdBeforestringnoISO 8601 timestamp. Only orders created before this instant
limitnumberno1 to 100. Default 50
cursorstringnoOpaque value taken from nextCursor on the previous page
bash
curl "https://sandbox-api.myrt.money/v1/transactions?direction=MINT&status=completed&limit=50" \
  -H "Authorization: Bearer $MYRT_API_KEY"
ts
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();
python
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

json
{
  "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

CodeHTTP
BAD_REQUEST400
UNAUTHORIZED401
SCOPE_DENIED403

See errors for the meaning of each code.

Read an order

GET/v1/transactions/{referenceId}transaction:read

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

ParameterTypeNotes
referenceIdstringThe referenceId you supplied on creation. See reference IDs
bash
curl https://sandbox-api.myrt.money/v1/transactions/acme:redeem:2026-09-10:00092 \
  -H "Authorization: Bearer $MYRT_API_KEY"
ts
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();
python
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

json
{
  "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

CodeHTTP
INVALID_REFERENCE_ID400
NOT_FOUND404

See errors for the meaning of each code.

MYRT is a 1:1 Ringgit-backed stablecoin on Ethereum.