Base URL
https://api.usesmpt.com/v1
ISRC Integrity
GET
/isrc-integrity
Returns the verified mapping and integrity status for a single ISRC.
Parameters
| id | string (required) | ISRC code (e.g. US-RC1-23-00001) |
| include_proof | boolean | Include 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.
| hash | string (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.