trustlinedocs
Regulated assets

Freeze & clawback

MiCACAP-35CAP-18

For a MiCA-compliant asset the issuer needs a control surface: the ability to freeze a holder and, where required, claw back a transfer — each recorded in an append-only audit log.

Freeze a holder

Freezing clears the authorized flag so the holder can no longer transfer, while keeping the balance intact pending review.

setTrustLineFlags({ trustor, asset, clearFlags: AUTHORIZED_FLAG })   (source: issuer)

To allow the holder to maintain existing liabilities while frozen, set AUTHORIZED_TO_MAINTAIN_LIABILITIES instead of clearing the flag entirely.

Clawback

Clawback reverses a transfer on a clawback-enabled asset. It requires the trustline to have been authorized with clawback enabled and the issuer account to have clawback enabled.

clawback({ asset, from, amount })   (source: issuer)
Clawback is irreversible and is always recorded in the audit log. The reference console requires an explicit confirmation: “Clawback is irreversible and recorded in the audit log. Continue?”

The audit trail

Every authorize, freeze, and clawback is captured with the actor, timestamp, and reason. The log is append-only and exportable — the compliance record the SEP and a regulator expect.

audit.ts
const entries = await server.audit.list({ asset: "EURCV" });
// [
//   { op: "authorize", account: "GHOL…DER1", actor: "ops@issuer", at: "2026-06-11T09:12Z" },
//   { op: "freeze",    account: "GHOL…DER9", actor: "ops@issuer", reason: "review", at: … },
//   { op: "clawback",  account: "GHOL…DER9", amount: "100.00",    actor: "ops@issuer", at: … },
// ]
Previous
Approval server
Next
KYC (SEP-12)