/schemasSchema and version discovery.
Developers
A public, read-only interface for exact identity, retained evidence and explicit uncertainty. Preserve the scope of each result before using it in an integration decision.
01 / Overview
GET requests return JSON. No account or wallet is required for these public records. API version: jujing-asset-infrastructure-api/1. These endpoints read retained evidence; they do not initiate arbitrary provider lookups or transactions.
https://jujingwhale.xyz/api/v1{
"limitation": "Retained-record integrity and scoped provenance only; no legal, eligibility, reserve, safety or investment conclusion.",
"limits": {
"maxResponseBytes": 2097152
},
"schemaVersion": "jujing-asset-infrastructure-api/1",
"schemas": {
"api": "jujing-asset-infrastructure-api/1",
"evidenceIngestion": "jujing-offline-asset-ingestion/1",
"exposureFeed": "jujing-offline-exposure-feed/1",
"lifecycleCalendar": "jujing-offline-lifecycle-calendar/1",
"receipt": "jujing-public-receipt/1",
"registry": "jujing-tokenized-asset-registry/1"
}
}02 / Identifier model
Solana is the currently supported verification network for public Passports and exact-mint lifecycle examples. Its identifiers are case-sensitive complete mints on mainnet-beta. The canonical directory also retains Base (eip155:8453) and Robinhood Chain (eip155:4663) representations; these are separate exact records, not a claim of live monitoring on those networks.
Use chain + network + exactIdentifier for a representation. The canonical underlying ID is a separate company/security reference. EVM identifiers accept a complete 0x-prefixed 40-hex-character address and are canonicalized to lowercase. Identifiers and routing are designed to support additional networks. Unknown networks fail explicitly.
Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh03 / Admission
PRESENT means present in the existing reviewed canonical registry. Directory inclusion is not a legal, safety, reserve or investment approval. OURA’s ADMITTED_IDENTITY_ONLY Passport is separate; its overall evidence is INCOMPLETE. OURAx remains NOT_ADMITTED and cannot be looked up as an admitted representation.
04 / Endpoint reference
Paths below are relative to /api/v1. Substitute an admitted exact identifier; never a ticker. A supported route does not mean its underlying fact has been established.
/schemasSchema and version discovery.
/assetsCanonical underlying and admitted representation index.
/assets/<exact-underlying-id>Exact canonical underlying lookup, such as jujing:underlying:000001.
/representations/<chain>/<exact-id>One exact representation, with scoped fields and original qualifications.
/representations/<chain>/<exact-id>/evidenceRetained public evidence metadata and original provenance.
/representations/<chain>/<exact-id>/evidence/<sha256>Evidence selected by an existing lowercase 64-character SHA-256 digest, without a 0x prefix.
/representations/<chain>/<exact-id>/lifecycleRepresentation-specific registry lifecycle; NOT_ESTABLISHED remains explicit.
/representations/<chain>/<exact-id>/exposureScoped exposure projection; production observations are currently absent.
/representations/<chain>/<exact-id>/receiptsPublished receipt and verification URLs, or explicit NOT_ESTABLISHED.
/lifecycle/solana/prestocksRetained documented PreStocks lifecycle events.
/lifecycle/solana/prestocks/Pre9atBqkocK1QngFy7Q7zvyQictEFpXdLi6bZ2qnYyExact OURA identity-only lifecycle projection.
/lifecycle/candidates/ouraxSeparate public NOT_ADMITTED candidate; never an admitted representation.
/reports/xstocksHistorical xStocks report index and integrity receipt inventory; not the admitted registry.
/reports/xstocks/NVDAxExact NVDAx historical report; publisher and Solana observations remain separate.
/reports/xstocks/FLWSxExact FLWSx historical report; missing reserve and independent oracle availability stay unresolved.
The xStocks reports use jujing-xstocks-public-report/1 and a fixed historical assessment. Only canonical NVDAx and FLWSx report identifiers are supported. Queries, encoded identifiers and chain substitution fail closed. Original report and receipt bundles are embedded unchanged; report receipts cover the reviewed record, not the API wrapper. See the report methodology or contact@jujingwhale.xyz.
Corporate Action Guard / live read-only endpoints
The paths below are complete paths, not relative to the endpoint reference. Both expose the historical working demonstration. They do not acquire current evidence or deliver webhooks.
GET
/api/v1/guard/eventsList the single retained historical Guard event.
historical: true, liveMonitoring: false.application/json; charset=utf-8; Cache-Control: no-store.jujing-guard-api/1. Event: jujing-guard-event/1. Receipt: jujing-guard-receipt/1.Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh. Product-level publisher claims and retained mint observations remain separately attributed.PREVIEW_ONLY; no webhook was delivered. Announcement, record and payment timestamps remain NOT_ESTABLISHED. Suggested actions are operational guidance, not proof of external execution. Admission remains NOT_ADMITTED.{
"schemaVersion": "jujing-guard-api/1",
"historical": true,
"liveMonitoring": false,
"events": [
{
"schemaVersion": "jujing-guard-event/1",
"eventId": "guard-xstocks-solana-nvdax-41ed2bba-fff2-4296-8f98-9ed2224d2f9e-v2",
"eventType": "DIVIDEND_MULTIPLIER_CHANGE",
"historical": true,
"representation": {
"binding": "EXACT_PUBLISHER_DEPLOYMENT_AND_RETAINED_MINT_OBSERVATION",
"chain": "solana",
"mint": "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
"network": "mainnet-beta",
"publisherCorporateActionDeploymentScope": "NOT_ESTABLISHED",
"tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
"timestamps": {
"effective": {
"meaning": "Publisher corporate-action effective time",
"precision": "MILLISECOND_ENCODING; EFFECTIVE_PRECISION_NOT_ESTABLISHED",
"sourceDigest": "c30905024f6d7ef3de7c25e7f79d078fe383286642ec0b2ffa43b78188d4f919",
"state": "PUBLISHER_CLAIM",
"value": "2026-09-10T00:30:00.000Z"
},
"announcement": {
"reason": "RECORD_CREATION_IS_NOT_ANNOUNCEMENT",
"state": "NOT_ESTABLISHED",
"value": null
},
"record": {
"reason": "RECORD_DATE_NOT_SUPPLIED",
"state": "NOT_ESTABLISHED",
"value": null
},
"payment": {
"reason": "PAYMENT_TIMESTAMP_AND_PAYMENT_NOT_ESTABLISHED",
"state": "NOT_ESTABLISHED",
"value": null
}
},
"webhookDelivery": "PREVIEW_ONLY",
"receipt": {
"captureDigest": "10606d2dc05c34b49776d58b0f941fa8d02f23e24f37465e1005debfd7b1f04c",
"digestScope": "SHA-256 of UTF-8 canonical sorted-key JSON plus LF, excluding the receipt field.",
"eventDigest": "6e2bb03d96725c8704ac323ab8c6cba810f841f7e983cebd162eccd73c71ae09",
"journalHead": "120a81d6390f57f96fb58b4900947d5adb93e87d4049c95144d3d791c63ff740",
"meaning": "Deterministic integrity reference only; not admission, signature or authenticity proof.",
"reference": "sha256:6e2bb03d96725c8704ac323ab8c6cba810f841f7e983cebd162eccd73c71ae09",
"reviewedReportDigest": "f1acbb8722728ae0eef811682b2a4ac985ec84820ef84d3ed66a722033567c00",
"schemaVersion": "jujing-guard-receipt/1"
}
}
]
}GET
/api/v1/guard/events/guard-xstocks-solana-nvdax-41ed2bba-fff2-4296-8f98-9ed2224d2f9e-v2Retrieve the exact historical event and deterministic receipt.
historical: true, liveMonitoring: false.application/json; charset=utf-8; Cache-Control: no-store.jujing-guard-api/1. Event: jujing-guard-event/1. Receipt: jujing-guard-receipt/1.Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh. Product-level publisher claims and retained mint observations remain separately attributed.PREVIEW_ONLY; no webhook was delivered. Announcement, record and payment timestamps remain NOT_ESTABLISHED. Suggested actions are operational guidance, not proof of external execution. Admission remains NOT_ADMITTED.{
"schemaVersion": "jujing-guard-api/1",
"historical": true,
"liveMonitoring": false,
"event": {
"schemaVersion": "jujing-guard-event/1",
"eventId": "guard-xstocks-solana-nvdax-41ed2bba-fff2-4296-8f98-9ed2224d2f9e-v2",
"eventType": "DIVIDEND_MULTIPLIER_CHANGE",
"historical": true,
"representation": {
"binding": "EXACT_PUBLISHER_DEPLOYMENT_AND_RETAINED_MINT_OBSERVATION",
"chain": "solana",
"mint": "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
"network": "mainnet-beta",
"publisherCorporateActionDeploymentScope": "NOT_ESTABLISHED",
"tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
"timestamps": {
"effective": {
"meaning": "Publisher corporate-action effective time",
"precision": "MILLISECOND_ENCODING; EFFECTIVE_PRECISION_NOT_ESTABLISHED",
"sourceDigest": "c30905024f6d7ef3de7c25e7f79d078fe383286642ec0b2ffa43b78188d4f919",
"state": "PUBLISHER_CLAIM",
"value": "2026-09-10T00:30:00.000Z"
},
"announcement": {
"reason": "RECORD_CREATION_IS_NOT_ANNOUNCEMENT",
"state": "NOT_ESTABLISHED",
"value": null
},
"record": {
"reason": "RECORD_DATE_NOT_SUPPLIED",
"state": "NOT_ESTABLISHED",
"value": null
},
"payment": {
"reason": "PAYMENT_TIMESTAMP_AND_PAYMENT_NOT_ESTABLISHED",
"state": "NOT_ESTABLISHED",
"value": null
}
},
"webhookDelivery": "PREVIEW_ONLY",
"receipt": {
"captureDigest": "10606d2dc05c34b49776d58b0f941fa8d02f23e24f37465e1005debfd7b1f04c",
"digestScope": "SHA-256 of UTF-8 canonical sorted-key JSON plus LF, excluding the receipt field.",
"eventDigest": "6e2bb03d96725c8704ac323ab8c6cba810f841f7e983cebd162eccd73c71ae09",
"journalHead": "120a81d6390f57f96fb58b4900947d5adb93e87d4049c95144d3d791c63ff740",
"meaning": "Deterministic integrity reference only; not admission, signature or authenticity proof.",
"reference": "sha256:6e2bb03d96725c8704ac323ab8c6cba810f841f7e983cebd162eccd73c71ae09",
"reviewedReportDigest": "f1acbb8722728ae0eef811682b2a4ac985ec84820ef84d3ed66a722033567c00",
"schemaVersion": "jujing-guard-receipt/1"
}
}
}05 / Result and evidence semantics
Every transport response has schemaVersion. Successful records also identify their model version. Read each field’s state, scope, provenance, source references and qualifications; one established field does not establish the whole instrument.
Evidence versions reuse the existing retained SHA-256 digest. A digest identifies content; it does not certify that content’s claims. NOT_ESTABLISHED, UNKNOWN_REPRESENTATION, INCOMPLETE and STALE describe different boundaries. Exposure IDENTITY_MISMATCH returns a fail-closed 503.
{
"exposure": {
"agreements": [],
"attempts": [],
"authorityChanges": [],
"availabilityByStream": [],
"boundaryDisagreements": [],
"conclusion": {
"activeBoundaryDisagreementIds": [],
"activeConflictIds": [],
"authorityChangeIds": [],
"availability": "NOT_ATTEMPTED",
"conclusionId": "7768f8ee89271c742157fcb30fc1fc9dc7a075a242ac2519480ca716c3c641a4",
"contributingAttemptIds": [],
"contributingObservationIds": [],
"coverage": "NOT_ESTABLISHED",
"evaluatedAt": null,
"freshness": "NOT_EVALUATED",
"journalHead": null,
"kind": "EXPOSURE_CONCLUSION",
"limitation": "No cross-unit aggregation, net exposure, USD conversion, provider authority, or missing-to-zero inference.",
"maxAgeMs": null,
"observationType": null,
"representationId": "jujing:representation:solana:Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
"rulesVersion": "jujing-exposure-rules/1",
"schemaVersion": "jujing-offline-exposure-feed/1",
"status": "NOT_ESTABLISHED",
"subject": null,
"validation": "VALID"
},
"conflicts": [],
"freshnessByObservation": {},
"journalHead": null,
"latestValidObservations": [],
"observations": [],
"representationId": "jujing:representation:solana:Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
"schemaVersion": "jujing-offline-exposure-feed/1"
},
"limitation": "Retained-record integrity and scoped provenance only; no legal, eligibility, reserve, safety or investment conclusion.",
"modelSchemaVersion": "jujing-offline-exposure-feed/1",
"schemaVersion": "jujing-asset-infrastructure-api/1"
}06 / Freshness
Keep publisher time, observation time, retrieval time and timestamp meaning separate. A source may not publish an as-of time. A day-precision announcement does not supply a timezone or precise ordering.
The exposure endpoint accepts paired evaluatedAt (exact UTC ISO format with milliseconds) and maxAgeMs (a nonnegative safe integer). Supplying just one fails. The exposure API is live and returns time-bound observations where reliable evidence is available. Production currently has no admitted exposure observations: status NOT_ESTABLISHED, availability NOT_ATTEMPTED, freshness NOT_EVALUATED. Query parameters cannot manufacture an observation.
07 / Receipt verification
Use a representation’s /receipts response to obtain its receiptUrl and verificationUrl. The public verifier accepts a bounded JSON POST at /api/verification/receipts/verify. It distinguishes matching retained content from tampered content. Matching and freshness are separate: results can include KNOWN_MATCH, TAMPERED and STALE_EVIDENCE.
Receipt integrity does not prove underlying reserves, legal rights, authorship, eligibility or current liquidity.
curl --fail --silent --show-error 'https://jujingwhale.xyz/api/verification/receipts/published/Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh' -o receipt.json
curl --fail --silent --show-error -X POST 'https://jujingwhale.xyz/api/verification/receipts/verify' \
-H 'Content-Type: application/json' --data-binary @receipt.json08 / Working examples
curl --fail --silent --show-error 'https://jujingwhale.xyz/api/v1/representations/solana/Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh/evidence'Examples above are rendered from the same retained API handlers as production, with complete response fields. Expand the JSON examples to inspect their precise shapes.
09 / Error behavior
INVALID_IDENTIFIER.UNKNOWN_REPRESENTATION, NOT_FOUND, UNKNOWN_EVIDENCE_VERSION.{
"code": "UNKNOWN_REPRESENTATION",
"schemaVersion": "jujing-asset-infrastructure-api/1",
"state": "NOT_ESTABLISHED"
}Responses use application/json; charset=utf-8, Cache-Control: no-store and X-Content-Type-Options: nosniff. Transport output is bounded to 2 MiB. Unknown query keys fail; the optional schema value must equal the supported API schema.
10 / Integration guidance