OpenAPI 3.0 · v1.0.4 · anchored to Monad

API Deep Dive

Every endpoint returns data verified by ⅔ of active nodes. Every response includes a hash field independently verifiable on‑chain.

Base URL
https://api.usesmpt.com/v1
ISRC Integrity
GET /isrc-integrity

Returns the verified mapping and integrity status for a single ISRC.

Parameters

idstring (required)ISRC code (e.g. US-RC1-23-00001)
include_proofbooleanInclude Merkle proof in response

Example request

curl https://api.usesmpt.com/v1/isrc-integrity?id=US-RC1-23-00001

Example response

{ "isrc": "US-RC1-23-00001", "status": "Verified", "hash": "0x4fa3c82e1b7d...", "mapping_gap": "0.00%", "splits": [ {"party": "Sony/ATV", "share": 55.0, "role": "Publisher"}, {"party": "A. Writer", "share": 45.0, "role": "Composer"} ], "last_anchored": 4238211, "proof": { "merkle_root": "0x8e2a...", "path": [...] } }
Batch Reconciliation
POST /reconcile

Submit a batch of ISRC/ISWC pairs for reconciliation. Returns a job ID; results are delivered via webhook or pollable.

Request body

{ "pairs": [ {"isrc": "US-RC1-23-00001", "iswc": "T-071-234-567-8"}, {"isrc": "GB-ABC-24-00123", "iswc": "T-123-456-789-0"} ], "webhook_url": "https://myapp.com/smpt-callback", "include_proof": true }

Response

{ "job_id": "job_abc123def", "status": "queued", "estimated_completion": "2026-03-12T11:30:00Z" }
Node Status
GET /node/status

Returns liveness and version of all active SMPT nodes.

{ "total_nodes": 12, "active_nodes": 11, "syncing_nodes": 1, "latest_block": 4238211, "consensus_threshold": 0.67, "nodes": [ {"id": "TRAPROYALTIES_PRO_01", "status": "active", "version": "1.0.4", "stake": "10000"}, ... ] }
Verify Hash
GET /verify

Check whether a given SMPT hash is valid and anchored.

hashstring (required)SHA‑384 hash returned by previous queries
curl https://api.usesmpt.com/v1/verify?hash=0x4fa3c82e1b7d...
{ "valid": true, "block": 4238211, "timestamp": "2026-03-12T10:23:14Z", "node": "TRAPROYALTIES_PRO_01", "merkle_path": [...] }
Source Reliability
GET /sources

Historical accuracy scores for each PRO / registry.

{ "sources": [ {"name": "ASCAP", "accuracy": 98.2, "last_update": "2026-03-12T09:00Z"}, {"name": "BMI", "accuracy": 96.5, "last_update": "2026-03-12T09:00Z"}, {"name": "MLC", "accuracy": 99.1, "last_update": "2026-03-12T09:15Z"} ] }
Authentication & Limits
Public endpoints are rate‑limited to 60 requests per minute per IP. For higher limits, obtain an API key from the SMPT developer portal. Authenticated requests use Bearer tokens.
📘 OpenAPI spec (YAML) 📦 Postman collection 🔑 Developer portal