Skip to main content
Use this endpoint to verify that a stranger holding nothing but an MPT issuance ID can independently reach a valuation. This route runs the complete resolution chain — read the MPTokenIssuance, decode its metadata, check XLS-89 conformance, locate the NAV pointer, substitute the token’s own ID, and follow the URL — and reports every step, including failures. “This collateral is opaque” is a legitimate and useful answer to give a lender, and this route makes it explicit rather than throwing an exception.

Parameters

string
required
48-character hex MPT issuance ID. Case insensitive.
boolean
Whether to follow the pointer after finding it. Defaults to true. Pass false to inspect the metadata without making an outbound HTTP request.
string
Number of share units to value as a pledge (a count of token units, as a decimal string). When present and the pointer resolves successfully, the response includes a pledge block.
This route sends Cache-Control: public, max-age=4 and Access-Control-Allow-Origin: *.

Request

Response

Response Fields

string
The 48-character hex MPT issuance ID that was resolved.
string
XRPL address of the MPTokenIssuance issuer.
string
Total share units in circulation at the time of resolution (a count of token units).
boolean
true when every step succeeded and a unitValue was obtained. false when any step failed — the response still contains the steps that did run, and nav is null.
string | null
The fully substituted URL that was or would be followed. null if the pointer was not found.
array
Ordered list of resolution steps, each with its outcome.
object
Decoded MPTokenIssuance metadata with XLS-89 conformance check.
object | null
The full orma.nav/1 document from the resolved pointer. null when resolved is false or when resolve=false was passed. See GET /api/mpt/:mptId/nav for the full field reference.
object | null
Present when units is supplied and the pointer resolved successfully. Same structure as the pledge block on GET /api/mpt/:mptId/nav. All values are null if the document carries no unitValue, alongside an unpriced explanation.
Two failure modes to know about. A pointer that answers HTTP 200 with a document carrying no unitValue is reported as ok: false on the "follow pointer" step with the detail "answered, but the document carries no unitValue" — not as a success. And when a pledge cannot be valued, the pledge block is returned with null values plus an unpriced explanation rather than failing the whole request. Both rules exist because an early version of the route resolved to this diagnostic instead of to the valuation, returned a valid 200 with no unitValue, and crashed the caller.
Following the pointer is bounded by a 2 500 ms AbortController timeout. It is a URL written by a third party into the MPTokenIssuance at creation — it is the only step in the entire API that leaves the ledger and makes an outbound network request. The timeout prevents a slow or unresponsive pointer from blocking the response indefinitely.