π SBIX API β Proof of Compliance for MiCA stablecoins
Generate an audit-grade Merkle proof in β€3s P50 Β· Anchor (Tezos/Aleph) Β· Verify Β· Export (JSON/CSV/XBRL/ZIP).
Base URL:
http://demo.sbix.io
π©Ί Service status
No auth required for health checks
Certify: β¦ Β· P50: β¦
Verify: β¦ Β· P50: β¦
Compliance: β¦ Β· P50: β¦
Reconcile: β¦ Β· P50: β¦
π Authentication
Only Certify API requires an API key. Send it via header X-API-Key
or query ?api_key=β¦
. Verify, Compliance & Reconcile are open on this node for demo.
cURL
curl -s -H "X-API-Key: <YOUR_KEY>" http://demo.sbix.io/certify/proofs
fetch (JS)
await fetch("http://demo.sbix.io/certify/proofs", {
headers: { "X-API-Key": "<YOUR_KEY>" }
}).then(r => r.json())
π Certify API
Generate, list and export Merkle proofs
POST /certify/ β Generate a proof auth
curl -s -X POST "http://demo.sbix.io/certify/?api_key=<YOUR_KEY>" \
-H "Content-Type: application/json" \
-d '{"leaves":["TX-AAAA1111","TX-BBBB2222","TX-CCCC3333","TX-DDDD4444","TX-EEEE5555"]}'
GET /certify/proofs β List proofs auth
curl -s -H "X-API-Key: <YOUR_KEY>" "http://demo.sbix.io/certify/proofs?limit=50"
GET /certify/export/proof/<id>.<fmt> β Export (
json,csv,xbrl.xml,zip
) authcurl -s -L "http://demo.sbix.io/certify/export/proof/sbix-XXXXXX.zip?api_key=<YOUR_KEY>" -o proof.zip
GET /certify/proof/<id>/path?target=<leaf> β Inclusion path auth
curl -s "http://demo.sbix.io/certify/proof/sbix-XXXXXX/path?target=TX-EEEE5555&api_key=<YOUR_KEY>"
GET /certify/export/anchor_log.<fmt> β Anchor log (
json,jsonl,csv
) authcurl -s "http://demo.sbix.io/certify/export/anchor_log.json?api_key=<YOUR_KEY>"
Health:
GET /certify/health
(no auth)π Verify API
Validate Merkle inclusion proofs
POST /verify/ β Wrapped v1 (server builds path)
curl -s -X POST "http://demo.sbix.io/verify/" \
-H "Content-Type: application/json" \
-d '{
"proof": {
"proof_id": "sbix-XXXXXX",
"timestamp": "2025-08-10T12:34:56Z",
"merkle_root": "β¦",
"leaves": ["TX-AAAA1111","TX-BBBB2222","TX-CCCC3333","TX-DDDD4444","TX-EEEE5555"]
},
"target": "TX-EEEE5555"
}'
await fetch("http://demo.sbix.io/verify/", {
method:"POST", headers:{ "Content-Type":"application/json" },
body: JSON.stringify({
proof:{ proof_id:"sbix-XXXXXX", merkle_root:"...", leaves:["TX-..."] },
target:"TX-..."
})
}).then(r => r.json())
POST /verify/ β Direct .proof
curl -s -X POST "http://demo.sbix.io/verify/" \
-H "Content-Type: application/json" \
-d '{
"leaf": "TX-EEEE5555",
"root": "β¦",
"proof": [
{"position":"right","hash":"β¦"},
{"position":"left","hash":"β¦"}
]
}'
Health:
GET /verify/health
π§ ComplianceOS API
Ruleset management, single-TX test, batch & alerts
GET /compliance/health
GET/POST /compliance/ruleset β YAML validate/save
POST /compliance/test β Single TX
POST /compliance/replay β ledger.json β alerts.json
GET /compliance/alerts
POST /compliance/batch β JSON/JSONL
π Reconcile API
Transaction ingestion + schema enforcement
POST https://demo.sbix.io:5151/reconcile β JSON payload (see schema)
curl -s -X POST "https://demo.sbix.io:5151/reconcile" \
-H "Content-Type: application/json" \
-d '{"tx_id":"TX-DEMO","institution_id":"BANK-AE-01","timestamp":"2025-06-03T12:34:56Z","source_jurisdiction":"FR","destination_jurisdiction":"DE","asset_type":"XRP","amount":"2500.00","sender_id":"u1","receiver_id":"u2","status":"Confirmed","encryption_status":"Plain"}'
Health/hints:
GET https://demo.sbix.io:5151/reconcile
returns schema hint.