For developers¶
Registry HTTP API¶
The registry's REST API sits behind the nginx proxy on the same domain (same-origin):
| Method | Path | What it does |
|---|---|---|
| GET | /registry/health |
service liveness |
| GET | /registry/tracks |
track catalog |
| GET | /registry/tracks/{isrc} |
track card: splits, genre, BPM |
| POST | /registry/tracks |
registration (Bearer JWT; draft_id closes a DDEX draft) |
| GET | /registry/subjects/{ndp_id} |
public passport status |
| POST | /registry/subjects/mint |
passport mint (commitment + device key) |
| POST | /registry/receipts/batch |
batch of signed §7.1 receipts |
| GET | /registry/stats, /registry/stats/journal |
stats and journal |
| GET | /payouts/me |
my payouts (Bearer) |
Authentication: Telegram-JWT (/auth/telegram, Login Widget) for write
endpoints; public ones need no token. CORS is intentionally closed: clients
go same-origin or through their own proxy.
MCP server for AI agents¶
21 tools over the Model Context Protocol: verify_artist, register_track,
identify_track, get_track_manifest, snapshot_epoch, the audit circuit
(journal, stats) and more. Transports: SSE and Streamable HTTP; Bearer auth.
The cloud edition runs on Cloudflare Workers.
ADNA oracle¶
POST /oracle/register— reference registration (private network);identifyby a v1 fingerprint (base64, 256 bytes) or v2 — windowed signatures: fragment localization inside a mix (~0.03 s), pitch/tempo ±8%, per-source attribution maps for multi-sample tracks.
CLI¶
ndp-cli (Python, open source): MP3/FLAC tagging with the NDT manifest, ADNA
computation, comparison, receipt journal, offline settlement checks; menu
wizard and TUI; --json for scripts; RU/EN locales (NDP_LANG).
main.py tag TRACK.mp3 --artist … --title … --isrc … --splits 'main:wallet:60,parent:isrc:…:40'
main.py compare a.mp3 b.mp3 # verdict: same | derivative | different
Validations to know¶
- splits: total exactly 100, roles
main/parent/…; - a derivative track: exactly one
role='parent'split withwallet='isrc:<ISRC>'; - ADNA: base64, 256 bytes;
- ISRC:
CC-XXX-YY-NNNNN.