---
title: "US digital-asset enforcement, one normalized tape across the three agencies that"
method: GET
path: "/v1/crypto/enforcement"
---

# US digital-asset enforcement, one normalized tape across the three agencies that

`GET /v1/crypto/enforcement`

## Request

- Base URL: `https://api.alphanume.com`
- URL: `https://api.alphanume.com/v1/crypto/enforcement`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

US digital-asset enforcement, one normalized tape across the three agencies that
bring it: SEC litigation releases and administrative proceedings, CFTC enforcement
press releases, and DOJ criminal announcements, 2024+. One row per (action,
respondent): what was alleged (multi-category), statutes cited, tokens/assets
involved (real JSON arrays), monetary relief with its stated basis, settled flag
(three-state), listed-issuer linkage where the document itself states one, and a
follow-up chain linking successive actions by the same agency against the same
respondent (complaint -> consent order, indictment -> plea).

The date window filters published_date (structural, the agency's announcement
date); action_date is extracted from the document with its own precision enum.
One matter can appear once per agency -- nothing links across agencies, by design.
monetary_relief_usd repeats on each respondent row of one action; de-duplicate on
action_key before summing.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or
DATE_RANGE_RESTRICTED error means the key's plan does not cover the request --
it does not mean the data is missing.

## Query parameters

- `agency` string
- `source_index` string
- `action_type` string
- `respondent` string
- `respondent_key` string
- `respondent_kind` string
- `allegation` string
- `primary_allegation` string
- `asset` string
- `min_monetary_relief` string
- `max_monetary_relief` string
- `has_monetary_relief` string
- `settled` string
- `is_followup` string
- `has_followup` string
- `action_key` string
- `record_id` string
- `action_date_precision` string
- `date` string
- `date_gte` string
- `date_lte` string
- `date_gt` string
- `date_lt` string
- `updated_since` string
- `cursor_published_date` string
- `cursor_action_key` string
- `cursor_respondent_index` string

## Response `200`

Matching rows.

- PaginatedEnvelope
  - `count` integer, required
  - `data` object[], required
  - `has_more` boolean, required
  - `next_cursor` object, nullable, required: Keyset cursor: pass its fields back as the cursor_* query parameters to fetch the next page.

## Other responses

- `400`: Invalid or conflicting query parameters.
- `401`: Missing or unrecognized API key.
- `403`: PRO_SUBSCRIPTION_REQUIRED: the key's plan does not include API access; every endpoint requires an active Pro subscription. DATE_RANGE_RESTRICTED: a legacy free-tier key asked for dates outside its window. In both cases the data is not missing.
- `429`: Rate limit exceeded (600/min); the body carries retry_after_seconds.

---

[API](https://skmtc.dev/alphanume/apis/alphanume-api.md) · [All operations](https://skmtc.dev/alphanume/apis/alphanume-api/llms.txt) · [OpenAPI document](https://skmtc.dev/alphanume/apis/alphanume-api/revisions/2cb83f10bba4?raw)
