Skip to main content

CFTC Part 43/45

The Commodity Futures Trading Commission (CFTC) regulations Parts 43 and 45 govern swap data reporting for swaps executed by US persons and non-US persons whose swaps are guaranteed by a US person or cleared through a US-registered derivatives clearing organization. Part 43 governs real-time public dissemination of swap transaction and pricing data; Part 45 governs the full swap record stored in a registered Swap Data Repository (SDR). Falcon Veritas Intelligence (FVI) provides a unified Part 43/45 reporting pipeline for cleared and uncleared swaps.

Scope and applicability​

Part 43/45 applies to swap dealers, major swap participants, and any other entity that is a counterparty to a swap that must be reported. Asset classes include interest rate swaps, credit default swaps, equity swaps, FX swaps and forwards (with limited exceptions), commodity swaps, and non-deliverable forwards.

Reporting deadlines vary by event:

  • Primary economic terms (PET) — at execution, real-time for Part 43; T+2 for Part 45
  • Confirmation — T+1 (electronically confirmed) or T+2 (non-electronically)
  • Continuation data — daily valuation, weekly lifecycle updates

FVI's Part 43/45 module supports all major SDRs: DTCC Data Repository (DDR), CME Group SDR, ICE Trade Vault, Bloomberg VCON, and Regis-TR (for cross-border swaps).

Field mapping​

The CFTC's swap data fields are split across Part 43 (15 fields, real-time public) and Part 45 (65+ fields, SDR). The high-impact fields for reconciliation teams are:

  1. Unique Swap Identifier (USI) — 32-byte random unique identifier. FVI generates USIs from a cryptographically-secure random pool per asset class with collision detection across all tenants.

  2. Unique Product Identifier (UPI) — alphanumeric code based on ISO 4914. FVI maintains the full UPI list and rejects submissions with deprecated UPIs.

  3. Execution timestamp — UTC at nanosecond precision. FVI's swaps.execution_at column is stored at nanosecond precision and converted to UTC at submission.

  4. Valuation data — current mark-to-market with source (model, dealer quote, mid). FVI stores daily valuation snapshots and threads them through the continuation data flow.

  5. Counterparty classification — swap dealer, major swap participant, financial entity, non-financial entity. FVI's counterparty graph resolves the classification based on the LEI and CFTC registration.

How FVI supports Part 43/45​

FVI treats Part 43/45 reporting as a downstream consumer of the reconciled swap ledger. The match engine pairs execution records from your swaps system with confirmation messages and SDR acknowledgements, producing a canonical swap state. The Part 43/45 pipeline then enriches each swap with the required fields, performs client-side validation against the CFTC's swap data dictionary, and submits to the chosen SDR.

Step-by-step: enabling Part 43/45 reporting​

  1. Register the tenant. In FVI, navigate to Settings → Compliance → CFTC and enter the LEI, the swap dealer/MSP classification, and the relevant SDR. FVI validates the LEI against GLEIF.

  2. Configure swap classification. Add the asset class, the clearing status (cleared via DCO or uncleared), and the cross-border election. FVI applies the appropriate submission profile based on these inputs.

  3. Map source systems. Connect each swap execution platform, confirmation system, and clearing house to FVI's ingestion pipeline. FVI normalizes FpML 4.x/5.x and FIX 5.0SP2 into the canonical swap record.

  4. Run a dry-run. FVI's compliance console supports a 30-day dry-run submission to your SDR's sandbox. Review the validation report and iterate.

  5. Enable production submission. Once dry-run passes, flip the tenant to live. FVI begins the real-time Part 43 stream and the T+2 Part 45 batch.

  6. Monitor acknowledgements. FVI polls the SDR for ACK/NACK and surfaces unresolved validation errors as exceptions.

Code samples​

curl​

curl -X POST https://api.falconveritas.com/v1/compliance/cftc/submissions \
-H "Authorization: Bearer $FVI_JWT" \
-H "Content-Type: application/json" \
-d '{
"tenantId": "'$FVI_TENANT_ID'",
"lei": "529900T8BM49AURSDO55",
"sdr": "dtcc-ddr",
"assetClass": "IRS",
"fromDate": "2026-08-01",
"toDate": "2026-08-22",
"idempotencyKey": "cftc-fvi-$RANDOM"
}'

TypeScript​

import { FVI } from '@falconveritas/sdk';

const fvi = new FVI({
baseUrl: 'https://api.falconveritas.com',
bearer: process.env.FVI_JWT!,
tenantId: process.env.FVI_TENANT_ID!,
});

const submission = await fvi.compliance.cftc.submit({
lei: '529900T8BM49AURSDO55',
sdr: 'dtcc-ddr',
assetClass: 'IRS',
fromDate: '2026-08-01',
toDate: '2026-08-22',
});

console.log('Submission ID:', submission.id);

Python​

from falconveritas import FVI

client = FVI(
bearer=os.environ["FVI_JWT"],
tenant_id=os.environ["FVI_TENANT_ID"],
)

submission = client.compliance.cftc.submit(
lei="529900T8BM49AURSDO55",
sdr="dtcc-ddr",
asset_class="IRS",
from_date="2026-08-01",
to_date="2026-08-22",
)
print("Submission ID:", submission.id)

Troubleshooting​

Last updated: 2026-08-22 · Page owner: Documentation · Source: src/lib/compliance/cftc/.