KINETIC
KINETIC APIProtocol · API reference
MD-Version 2026-06-11 Request access

Enforcement

Issuer Remediation

Stablecoin freeze, burn/reissue, destination-wallet workflows.

POST/v1/issuer-remediation/freeze-packetCreate issuer freeze packet
POST/v1/issuer-remediation/burn-reissue-packetCreate burn/reissue packet
POST/v1/issuer-remediation/destination-wallet-certificateCreate destination wallet certificate
GET/v1/issuer-remediation/{remediation_id}Get issuer remediation
POST/v1/issuer-remediation/freeze-packet

Create issuer freeze packet

Prepares issuer-controlled freeze/preserve packet for stablecoin issuer workflows.

scope · issuer:writeidempotent · Idempotency-Keygate · authority_required
§ Body parameters
FieldType
matter_idstring
judgment_idstring
walletsarray
packet_typestring
authorized_senderstring
legal_authority_idstring
source_refsarray
notesstring
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/issuer-remediation/freeze-packet \
  -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",
  "judgment_id": "string",
  "wallets": [
    "string"
  ],
  "packet_type": "string",
  ... }'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/issuer-remediation/freeze-packet",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "matter_id": "string",
        "judgment_id": "string",
        "wallets": [
            "string"
        ],
        "packet_type": "string"
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/issuer-remediation/freeze-packet", {
  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",
    "judgment_id": "string",
    "wallets": [
      "string"
    ],
    "packet_type": "string"
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
  "remediation_id": "string",
  "matter_id": "string",
  "issuer": "string",
  "asset": "string",
  "network": "string",
  "action_type": "freeze_only",
  "status": "string",
  "destination_wallet_certificate_id": "string"
}
POST/v1/issuer-remediation/burn-reissue-packet

Create burn/reissue packet

Prepares order-backed burn/reissue workflow packet. Kinetic Anvil does not burn, mint, freeze, transfer, or redeem tokens.

scope · issuer:writeidempotent · Idempotency-Keygate · authority_required
§ Body parameters
FieldType
matter_idstring
judgment_idstring
walletsarray
packet_typestring
authorized_senderstring
legal_authority_idstring
source_refsarray
notesstring
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/issuer-remediation/burn-reissue-packet \
  -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",
  "judgment_id": "string",
  "wallets": [
    "string"
  ],
  "packet_type": "string",
  ... }'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/issuer-remediation/burn-reissue-packet",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "matter_id": "string",
        "judgment_id": "string",
        "wallets": [
            "string"
        ],
        "packet_type": "string"
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/issuer-remediation/burn-reissue-packet", {
  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",
    "judgment_id": "string",
    "wallets": [
      "string"
    ],
    "packet_type": "string"
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
  "remediation_id": "string",
  "matter_id": "string",
  "issuer": "string",
  "asset": "string",
  "network": "string",
  "action_type": "freeze_only",
  "status": "string",
  "destination_wallet_certificate_id": "string"
}
POST/v1/issuer-remediation/destination-wallet-certificate

Create destination wallet certificate

Creates custody, purpose, chain, signers, sanctions screen, and approval certificate for remittance/reissue destination wallet.

scope · issuer:writeidempotent · Idempotency-Keygate · authority_required
§ Body parameters
FieldType
matter_idstring
wallet_addressstring
networkstring
purposestring
ownerstring
custodianstring
signer_modelstring
allowed_assetsarray
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/issuer-remediation/destination-wallet-certificate \
  -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",
  "wallet_address": "string",
  "network": "string",
  "purpose": "string",
  "owner": "string",
  "custodian": "string",
  "signer_model": "string",
  "allowed_assets": [
    "string"
  ]
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/issuer-remediation/destination-wallet-certificate",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "matter_id": "string",
        "wallet_address": "string",
        "network": "string",
        "purpose": "string",
        "owner": "string",
        "custodian": "string",
        "signer_model": "string",
        "allowed_assets": [
            "string"
        ]
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/issuer-remediation/destination-wallet-certificate", {
  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",
    "wallet_address": "string",
    "network": "string",
    "purpose": "string",
    "owner": "string",
    "custodian": "string",
    "signer_model": "string",
    "allowed_assets": [
      "string"
    ]
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
  "destination_wallet_id": "string",
  "wallet_address": "string",
  "network": "string",
  "purpose": "string",
  "owner": "string",
  "custodian": "string",
  "sanctions_screen_complete": true,
  "approval_status": "string"
}
GET/v1/issuer-remediation/{remediation_id}

Get issuer remediation

Gets issuer remediation status: freeze, burn, reissue, remit, reject, close.

scope · issuer:read
§ Path parameters
ParameterType
remediation_id
required · path
string
# sandbox: full surface, no production data
curl https://sandbox.api.microndelta.com/v1/issuer-remediation/rem_91Lk \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11"
import requests

resp = requests.get(
    "https://sandbox.api.microndelta.com/v1/issuer-remediation/rem_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/issuer-remediation/rem_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
{
  "remediation_id": "string",
  "matter_id": "string",
  "issuer": "string",
  "asset": "string",
  "network": "string",
  "action_type": "freeze_only",
  "status": "string",
  "destination_wallet_certificate_id": "string"
}