Skip to main content

Obligations

Draft, edit, publish and disable reporting duties, review their versions, and turn chain anchoring of fulfilled filings on or off.
Open it fromReportingObligationsRoles:Permission managerAuditorCompliance managerSystem managerOwnerPlatform administratorConsole address: /reporting/obligations

Obligations lists your organisation's reporting duties and the published version used to generate each duty's filings. Use this screen to draft a custom duty, edit a draft, publish it, disable a duty, review its versions, or manage optional chain anchoring. To see which filing period needs attention, open Filing calendar. To see attempts already made against those periods, open Filings.

Publishing freezes the draft as a numbered version. A period generated under version 2 keeps being filed under version 2 after version 3 is published. The tabs “Obligations”, “Filing calendar” and “Filings” at the top of each list move you between the three.

Each row names a reporting duty with its “Report”, “Cadence” and published “Version”, or “Not published” for a draft.

The “Anchoring” column reads “Anchoring enabled” or “Off”, and the “Status” column reads “Draft” or “Active”.

Steps

Review the obligations

Open “Reporting”, then Obligations. The table columns are “Name”, “Regime”, “Report”, “Cadence”, “Version”, “Anchoring” and “Status”, followed by an unlabelled column of row actions, and “Search obligations” searches the rows. When the table is too narrow for every column, “Regime” is the first to drop out, and “View” lists it. “Version” reads “Not published” until a version exists, then the version number. “Anchoring” reads “Anchoring enabled” or “Off”. “Status” reads “Draft”, “Active” or “Disabled”, and “Disabled” marks an obligation that no longer produces new filing periods. A platform catalogue entry, a ready-made duty the platform supplies, reads “Managed by the platform.” in place of its controls. Select the duty's name to open its page, as Read an obligation's page describes.

Draft a custom duty

Select New obligation, then fill in the sheet:

  • Enter a Name, an “Identifier”, a “Regime”, a “Description” and, if you want one, the “Reporting entity LEI (optional)”. The identifier is filled from the name until you change it, and it cannot change after you create the draft.
  • Choose the Report and the “Cadence”.
  • Set the deadline with Due after, “Counted in”, which takes “Calendar days”, “Business days” or “Hours”, and “From”, which takes “The period end” or “The period start”.
  • Choose the Holiday calendar and the “Time zone” in which periods start and deadlines fall due.
  • Set The duty ends with to “Publication by us” or “Acknowledgement from the authority”.
  • Choose the File format: CSV, XLSX, ZIP, JSON, XML or PDF. A new draft starts on CSV.
  • Choose Keep for, the retention: “Five years”, “Seven years”, “Ten years” or “Indefinitely”. A new draft starts on “Seven years”. How long a filing is kept says what the retention does.

The “New obligation” sheet, where you draft a custom reporting duty that becomes active when you publish it.

For a duty about client assets, choose one of two reports. Client asset summary lists each client position with its account type and market value. “Safeguarding extract” allocates each client's outstanding custody receipts to the addresses that hold the backing coins. Outstanding receipts include receipts in the client's wallets and receipts locked in unfinished withdrawals. A position is segregated when its gateway keeps the coins for one client, or omnibus when its destination pools them. The classification and destination use the gateway's current coins-go-to terms. The balances and records use the report's as-of block.

A gateway that keeps funds allocates its receipts to escrow. For a gateway that forwards coins, confirmed funding, reserved withdrawal coins and receipt-backed custody returns are allocated to escrow first, up to the outstanding receipts. The rest is allocated to the destination, so each receipt counts once. Quarantined coins and withheld fees carry no receipt allocation. The extract shows actual coin balances at each holding address and the difference between that balance and the client allocations. Extra nonzero escrow and gateway balances also appear. Its Asset totals sheet counts a shared address balance once for each network and asset, and keeps the segregated or omnibus classification while coins wait in escrow.

The reconciliation reference names the latest gateway reserve observation at or before the report's as-of time. A custodian balance stays empty without evidence for that account. An aggregate balance across watched addresses cannot fill it. An asset's balance and difference in Asset totals stay empty when any holding address lacks that evidence.

For regulator evidence, choose Regulator reporting reconciliation, “Regulator session messages” or “Regulator session monitoring evidence”. These reports export the daily reported-versus-executed results, the retained FIX messages or the monitoring history for the filing period. The regulator session and its separate certification test profile are configured through the Platform API. The draft preserves those settings when you edit other fields here.

A duty about the bank rail uses the bank-rail-reconciliation report kind, which the sheet does not list: author it through the Platform API, and the Console shows it as Bank rail reconciliation on the duty's page and on its filings. Each filing is the bank rail's daily reconciliation for the period: one row for each bank connection and closed day, with the same columns as the export on a connection's reconciliation page. A day whose reconciliation could not be completed keeps its row, marked unavailable with its reasons and with empty amounts. An organisation without a bank connection files an empty report.

Select Create draft. Nothing is scheduled until you publish the draft.

Edit the draft

Select “Edit” from the obligation's row menu or on its page, change the fields, and select Save draft. Platform catalogue entries and disabled obligations cannot be edited.

The sheet also sets what the filing contains and the layout of its authority file:

  • Deadline. Choose what happens when the deadline is not a business day with “If the deadline is not a business day”, and the local “Cut-off time” for the filing.
  • Tokens. Keep “All tokens”, or list the EVM token addresses the filing covers, one per line. A list holds at most 200 addresses. A report without a token column cannot take a list.
  • Derived values. Add a value that the filing calculates from a report field, such as the sum of the balances or the number of rows. Validation rules and the authority file can use it.
  • Validation rules. Add a rule with its severity, its expression and the message a filing shows when the rule fails. A changed rule gets a new version, so earlier filings keep the rule they were checked against.
  • Authority file. Turn on “Custom file layout” to write one extra file in the authority's layout: its name, CSV or XLSX, the CSV delimiter, and the columns in order. Remove, add back, move, rename and format each column. The report file in the same filing still holds every column.
  • Group rows by. For an XLSX file, choose a column to write one sheet for each value in it. Each sheet repeats the header, and empty values go to a sheet named “Blank”. The platform reads each cell as it is written to the file, so a formatted amount groups as its text. A file with no rows stays one sheet with only the header. The platform adds no subtotal rows. Publishing is refused for a CSV file, for a file whose rows are the data points, or for a header that no column carries.

If the platform refuses a value when you save, the message shows on that field. The sheet keeps settings it does not show, such as a layout of several files set through the Platform API. When the authority file layout was set outside the Console, the Report field is locked and the draft keeps its report.

If the Platform API set a report the Report list does not offer, such as “Wallet register” on a deployment without custody operations reports, the field shows that report. It stays in the list until you save a different report.

Publish a reviewed draft

Select Publish from the obligation's row menu or on its page. It appears on every enabled obligation your organisation owns, and each publish creates the next version. A platform catalogue entry offers no “Publish”: the entry is the same in every deployment, so no organisation may publish it. The “Publish obligation?” dialog explains that publication freezes the draft as the next version and starts filing periods. Confirm “Publish” only after reviewing that draft. A refusal stays in the dialog with its reason, and the list refreshes after the attempt.

Publication is unavailable on a disabled obligation. If the platform refuses your role, ask an organisation owner or a platform administrator to publish the draft. A publish sent against a platform catalogue entry comes back as a conflict that names the catalogue and points you at your own copy of the duty.

Generate a filing for a date range

Open the actions menu of a published, enabled obligation and select Generate for date range. The item is not offered on a platform catalogue entry, a disabled obligation or a draft with no published version. Enter the first day in “From” and the last day in “To”. Both days are part of the range. The dialog names the time zone of the obligation's deadline rule, and the platform reads the dates in that zone. A range of 1 to 15 October covers 1 October at 00:00 up to 16 October at 00:00 in that zone.

Select Generate filing. The platform adds one filing period to the obligation. The schedule does not change. The dialog says the filing appears in Filings once its period is final and its files are generated, and offers “Open Filings”. Entering the same range again returns the period that exists.

A refusal shows on the field that caused it:

Refusal
What to do
The end date is before the start date
Choose an end date on or after the start date.
The range has not ended in the time zone
Choose an end date on or before the latest day the dialog names.
The range is already a scheduled period
Find the filing in Filing calendar, or choose a different range.
The range ends before recorded history
Choose a later end date.
The obligation is disabled or unpublished
Close the dialog. Publish the obligation, or choose an active one.
The deadline rule or holiday calendar cannot be evaluated
Fix the obligation's deadline settings or holiday calendar, then try again.

Disable a duty

Disabling cannot be reversed, in the Console or through the Platform API. One organisation owner or platform administrator can disable a duty. No second approver is asked, and the Audit trail records who did it. The platform records no reason, so the Console asks for none.

Select “Disable”, read the confirmation, and confirm Disable obligation. A disabled obligation takes no new filing periods. Published versions and past filings stay on record.

Turn chain anchoring on or off

Chain anchoring records a fulfilled filing's manifest digest in the document anchor registry on the selected network. It lets a holder compare a supplied document with its on-chain record, as How an anchor proves a filing was not altered explains. Turning anchoring off stops new anchors and does not remove existing records or reverse their disclosure.

Turning anchoring on needs an organisation owner or a platform administrator signed in as themselves, not in an impersonated session, and the obligation needs a published version. Turning it off needs the same, or a platform administrator in an impersonated session. The platform records each change as a new setting, with its author and reason.

To turn it on, select Anchor filings and fill in the dialog:

  • Check Chain.
  • Choose the available severity under How loudly to report a missing anchor.
  • Choose a Document type: “Regulatory filing” or “Investor report”.
  • Enter a short Document label that contains no organisation name, period or identifier. A label that contains one shows “This label may say more than you mean to publish. It will be public and permanent.” and is published as written, with every fulfilled filing, only after you tick “Publish anyway. I know this is public and permanent.”
  • Record why you are turning it on under Why you are turning this on.
  • Read the disclosure warning, and confirm “I understand this disclosure is permanent and cannot be withdrawn.” before submitting.

The available severities depend on the obligation. When publication fulfils the duty, only “Warning” is offered so a missing anchor cannot block that publication. To stop anchoring, select Stop anchoring, enter the reason, and confirm. A disabled obligation can still have open filing periods, so “Stop anchoring” stays available.

Read an obligation's page

Select a duty's name to open its page. The Details card shows the “Description”, the “Published version”, the “Regime”, the “Report”, the “Cadence”, the “Reporting entity LEI”, “Anchoring”, and a “View in filing calendar” link, which opens the filing calendar searched for this duty's name. The “Versions” table lists every published version with its “Published” date, its “Cadence” and what the duty ends with under “Ends with”. A draft with no version reads “No version published yet”.

Allow one obligation to publish with fewer than two owners

The “Reporting” row under “Approvals” on General holds an exception list. An organisation owner or a platform administrator picks an obligation under “Choose an obligation” and selects Turn off the check for this one. The dialog asks “Allow publishing” followed by the obligation's name and “with fewer than two owners?”. “Allow publishing” confirms it with your wallet verification and “Keep the check” cancels. With the exception in place, that obligation publishes while the organisation has fewer than two owners. “Remove” returns it to the row's setting, which the other obligations keep.

Send trade reports to a regulator

The message layout and the FIX session that carry trade journal reports to a regulator are part of the obligation version, and the Console's editor does not show them. The editor opens an obligation that carries the trade journal with Trade journal selected and keeps the layout and the session when you save. Edit the layout or the session through the Platform API with POST /api/v2/reporting/obligations or PUT /api/v2/reporting/obligations/{obligationId}, then publish. Publication refuses a session on a version whose report set leaves out the trade journal. A new version resumes queueing where the obligation's earlier versions stopped, and an obligation's first version with the trade journal queues the organisation's full trade history, as When a report is queued describes. Trade reports describes the layout, the session settings and the deployment's allow list of regulator endpoints, and Filings shows whether the reports reach the regulator.

Troubleshooting

What you see
What it means and what to do
Publish is refused
Read the error in the confirmation dialog. The draft must belong to your organisation: a platform catalogue entry cannot be published, so draft your own copy instead. The draft must also be internally consistent, and its holiday calendar must be visible to the organisation. While the Reporting approval reads On, the organisation needs at least two owners. Correct the stated cause before retrying.
Generate for date range is missing
Confirm that the obligation has a published version, is enabled, and belongs to your organisation. A platform catalogue entry is not offered because its filings follow its schedule. In the Console, your account also needs the Owner role or a platform administrator account, and the Reporting and finance operations module has to allow changes.
A published version contains a mistake
Prepare and publish a corrected version. The earlier version remains unchanged, so filings generated under it keep the rules they were generated with.
An obligation was disabled by mistake
Disabling cannot be reversed in the Console or through the Platform API. Draft and publish a replacement obligation.
Anchor filings is missing
Confirm that the obligation is enabled, has a published version, an EVM network is selected, your account is an organisation owner or platform administrator, and the Reporting and finance operations module allows changes. An impersonated session cannot start a new disclosure. The emergency stop for existing anchoring has separate authorisation checks.
An anchoring change is refused
Read the reason in the dialog. Check the selected chain, the document label and the permitted severity, then try again. A label that names the organisation, a period or an identifier needs “Publish anyway. I know this is public and permanent.”, so change the label rather than tick the box.

API routes

The screen uses these obligation routes of the Platform API:

  • POST /api/v2/reporting/obligations creates a draft, and PUT /api/v2/reporting/obligations/{obligationId} updates it.
  • POST /api/v2/reporting/obligations/{obligationId}/publish publishes the draft, and DELETE /api/v2/reporting/obligations/{obligationId} disables the obligation.
  • POST /api/v2/reporting/filing-periods creates the filing period for a date range. The response is the filing period with origin set to ad_hoc. The platform refuses a catalogue obligation with 409, and the other refusals with 422 OBLIGATION_INVALID, whose data.ruleIdentity names the reason.
  • GET /api/v2/reporting/obligations/{obligationId}/anchor-settings and PUT on the same path read and change the anchoring setting.

Was this page helpful?