mptokens
Batch metadata-only lookup by IDs
post
/mpt/metadata/batch
operationId: mpt-getMetadataBatch

Batch counterpart of /mpt/{issuanceId}/metadata. Body: { "issuanceIds": ["00000064…", "…"] } (max 100). Returns identity + metadata-only records. Mirror of /token/metadata/batch.

Unlock protected endpoints

Enter your Bearer token once to enable every protected route in this API reference.

HTTP bearer

Saved for this browser tab only. The credential is never sent until you test an endpoint.

Authorizations
NameLocationDetails
BearerAuthAuthorization header · bearerJWT issued by the Honeycluster auth service for the `indexer` audience. Present as `Authorization: Bearer <token>`.
Request Body
application/json
required
FieldTypeDescription
issuanceIds
required
string[]
MPT issuance IDs to resolve metadata for (max 100). Unmatched IDs are silently omitted.
Example
Json
{
  "issuanceIds": [
    "string"
  ]
}
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
Per-issuance metadata-only records. Unmatched IDs are silently omitted.
items[].id
string
MPTokenIssuance ID (same as `issuance_id`). Top-level alias for shape parity with token / NFT detail.
items[].issuance_id
string
On-chain MPTokenIssuance ID (hex string).
items[].issuer
string
XRPL classic address of the issuer.
items[].created_at_ledger
integer
Ledger sequence where the issuance was created.
items[].destroyed_at_ledger
object
Ledger sequence where the issuance was destroyed; `null` while active.
items[].burned
boolean
True once `destroyed_at_ledger` is set.
items[].metadata
object
items[].metadata.token
object
items[].metadata.token.name
object
Display name of the MPT asset (XLS-89 `n`).
items[].metadata.token.ticker
object
Uppercase ticker symbol — ≤6 chars, A-Z 0-9 (XLS-89 `t`). `null` when the metadata didn't declare one.
items[].metadata.token.desc
object
Asset purpose / description (XLS-89 `d`).
items[].metadata.token.icon
object
URL to the asset logo (XLS-89 `i`). HTTPS or `ipfs://…`.
items[].metadata.token.asset_class
object
XLS-89 `ac`: top-level asset classification (`rwa` / `memes` / `wrapped` / `gaming` / `defi` / `other`).
items[].metadata.token.asset_subclass
object
XLS-89 `as`: narrower sub-category. Required by the spec when `asset_class = "rwa"`; free-text otherwise.
items[].metadata.token.issuer_name
object
Issuer display name as declared in the metadata (XLS-89 `in`).
items[].metadata.token.urls
object[]
Categorized external links published by the issuer (XLS-89 `us`). Empty array when none declared.
items[].metadata.token.additional_info
object
Free-form supplementary metadata (XLS-89 `ai`) — typically rate / term / settlement details for RWAs. Schema is issuer-defined.
items[].metadata.token.metadata_uri
object
Raw on-chain MPTokenMetadata field — hex-encoded VL bytes exactly as the ledger emits them. Hex-decodes to either a URL (`ipfs://…`, `https://…`, `ar://…`) or an inline JSON literal (`{…}`) when the metadata fits inside the on-chain field. The ledger value is preserved verbatim so callers can verify on-chain bytes against the live ledger; the decoded form is served via the resolver-mirrored copy on `metadata_url` when the URI was external.
items[].metadata.token.metadata_url
object
CDN URL of the mirrored metadata.json. Populated when the resolver hex-decodes `metadata_uri` to an external URL (http/https/ipfs/ar), fetches the bytes, and uploads them to `assets/mpt/<issuance_id>/metadata.json`. `null` when the on-chain URI was inline JSON (nothing to mirror) or when the resolver has not processed this row yet.
items[].metadata.issuer
object
items[].metadata.issuer.address
string
XRPL classic address of the issuer.
items[].metadata.issuer.name
object
Issuer display name from `account_metadata` / TOML / curator.
items[].metadata.issuer.domain
object
Verified domain associated with the issuer account.
items[].metadata.issuer.kyc
object
True when the issuer has completed third-party KYC.
Example
Json
{
  "items": [
    {
      "id": "string",
      "issuance_id": "string",
      "issuer": "string",
      "created_at_ledger": 0,
      "destroyed_at_ledger": 0,
      "burned": false,
      "metadata": {
        "token": {
          "name": "string",
          "ticker": "string",
          "desc": "string",
          "icon": "string",
          "asset_class": "string",
          "asset_subclass": "string",
          "issuer_name": "string",
          "urls": [
            {
              "u": "string",
              "c": "website",
              "t": "string"
            }
          ],
          "additional_info": null,
          "metadata_uri": "string",
          "metadata_url": "string"
        },
        "issuer": {
          "address": "rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY",
          "name": "string",
          "domain": "string",
          "kyc": false
        }
      }
    }
  ]
}
400
application/json
Invalid input data
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
401
application/json
Authorization not provided
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
403
application/json
Insufficient access
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
500
application/json
Internal server error
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}