● Compliance gates
Monitoring
Wallet watchlists, alert rules, movement alerts.
| POST | /v1/watchlists | Create watchlist |
| GET | /v1/watchlists | List watchlists |
| GET | /v1/watchlists/{watchlist_id} | Get watchlist |
| POST | /v1/watchlists/{watchlist_id}/addresses | Add watchlist addresses |
| GET | /v1/alerts | List alerts |
| POST | /v1/alerts/{alert_id}/triage | Triage alert |
POST/v1/watchlists
Create watchlist
Creates matter-tied wallet/token/exchange watchlist.
scope · monitoring:writeidempotent · Idempotency-Key
§ Body parameters
| Field | Type |
|---|---|
| matter_id | string |
| name | string |
| chains | array |
| thresholds | object |
# sandbox: full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/watchlists \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "matter_id": "string", "name": "string", "chains": [ "string" ], "thresholds": {} }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/watchlists",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"matter_id": "string",
"name": "string",
"chains": [
"string"
],
"thresholds": {}
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/watchlists", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "matter_id": "string", "name": "string", "chains": [ "string" ], "thresholds": {} }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
"watchlist_id": "string",
"matter_id": "string",
"name": "string",
"addresses": [
"string"
],
"status": "string",
"alert_rules": [
{}
]
}GET/v1/watchlists
List watchlists
Lists matter-tied watchlists.
scope · monitoring:read
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/watchlists \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/watchlists",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/watchlists", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"object": "list",
"data": [
{
"watchlist_id": "...",
"matter_id": "...",
"name": "...",
"addresses": "...",
"status": "...",
"alert_rules": "..."
}
],
"has_more": false
}GET/v1/watchlists/{watchlist_id}
Get watchlist
Gets watchlist and alert rules.
scope · monitoring:read
§ Path parameters
| Parameter | Type |
|---|---|
| watchlist_id required · path | string |
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"watchlist_id": "string",
"matter_id": "string",
"name": "string",
"addresses": [
"string"
],
"status": "string",
"alert_rules": [
{}
]
}POST/v1/watchlists/{watchlist_id}/addresses
Add watchlist addresses
Adds matter-linked addresses to monitoring watchlist.
scope · monitoring:writeidempotent · Idempotency-Key
§ Path parameters
| Parameter | Type |
|---|---|
| watchlist_id required · path | string |
§ Body parameters
| Field | Type |
|---|---|
| addresses | array |
| reason | string |
| source_refs | array |
# sandbox: full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk/addresses \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "addresses": [ "string" ], "reason": "string", "source_refs": [ { "source_id": "...", "source_type": "...", "title": "...", "uri": "...", "hash": "...", "chain_of_custody_id": "...", "admissibility_notes": "..." } ] }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk/addresses",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"addresses": [
"string"
],
"reason": "string",
"source_refs": [
{
"source_id": "...",
"source_type": "...",
"title": "...",
"uri": "...",
"hash": "...",
"chain_of_custody_id": "...",
"admissibility_notes": "..."
}
]
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/watchlists/wat_91Lk/addresses", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "addresses": [ "string" ], "reason": "string", "source_refs": [ { "source_id": "...", "source_type": "...", "title": "...", "uri": "...", "hash": "...", "chain_of_custody_id": "...", "admissibility_notes": "..." } ] }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"watchlist_id": "string",
"matter_id": "string",
"name": "string",
"addresses": [
"string"
],
"status": "string",
"alert_rules": [
{}
]
}GET/v1/alerts
List alerts
Lists wallet movement, exchange proximity, stablecoin exposure, sanctions, deadline, and compliance alerts.
scope · monitoring:read
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/alerts \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/alerts",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/alerts", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"object": "list",
"data": [
{
"alert_id": "...",
"matter_id": "...",
"type": "...",
"severity": "...",
"status": "...",
"target": "...",
"reason": "...",
"created_at": "..."
}
],
"has_more": false
}POST/v1/alerts/{alert_id}/triage
Triage alert
Marks alert actionability, creates linked actions/packets, or closes false positive.
scope · monitoring:writeidempotent · Idempotency-Key
§ Path parameters
| Parameter | Type |
|---|---|
| alert_id required · path | string |
§ Body parameters
| Field | Type |
|---|---|
| status | string |
| notes | string |
| create_action | boolean |
| create_packet_type | string |
# sandbox: full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/alerts/ale_91Lk/triage \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "status": "actionable", "notes": "string", "create_action": true, "create_packet_type": "string" }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/alerts/ale_91Lk/triage",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"status": "actionable",
"notes": "string",
"create_action": True,
"create_packet_type": "string"
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/alerts/ale_91Lk/triage", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "status": "actionable", "notes": "string", "create_action": true, "create_packet_type": "string" }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"alert_id": "string",
"matter_id": "string",
"type": "string",
"severity": "string",
"status": "string",
"target": "string",
"reason": "string",
"created_at": "2026-06-01T12:00:00Z"
}