# Anchor registry

Source: https://docs.settlemint.com/docs/console/reporting/anchor-registry
Read the entries your system's document anchor registry holds, check a document you hold against an issuer's entries, and anchor a document.

Anchor registry lists the entries of your system's registry in write order and lets an owner anchor a document. The registry is an append-only list on the chain. Each entry holds a digest, a fingerprint computed from a document's files, so a holder of a copy can check that it is the one an issuer committed to. Writing an entry is called anchoring. **Anchor registry** lists the entries of your system's registry in write order, oldest first, and has two actions: "Check a document" compares a document you hold with an issuer's entries, and "Anchor a document" writes a new entry. [How an anchor proves a filing was not altered](https://docs.settlemint.com/docs/concepts/records-and-evidence/reporting-obligation#how-an-anchor-proves-a-filing-was-not-altered) explains what an entry contains and what each answer means.

Filings that an obligation anchors reach the registry on their own. Use this screen to look up one filing's entry, check a document you were handed, or anchor a document no filing produced.

![Anchor registry page with Check a document in the header, the Indexed up to block and Registry strip, and the table of anchored documents](https://docs.settlemint.com/docs/screenshots/console-reporting-anchor-registry.light.en.webp)

[Screenshot] The "Anchor registry" page as a reporting officer sees it.

The header carries "Check a document", with "Organisation owners and platform administrators anchor documents." in place of the anchor button. A strip above the table shows "Indexed up to block" and the "Registry" address. The table shows "Document", "Anchored at", "Digest", "Subject" and "Transaction", "View" lists the columns hidden at this width, and "Previous page" and "Next page" sit under the table.

## Before you start [#before-you-start]

- **The registry add-on.** The system needs the document anchor registry add-on. Without it, the page reads "This system has no anchor registry yet". A system manager sees "Open system add-ons" and adds it there. Any other reader is told to ask a system manager.
- **Files in the order you received them.** To check or anchor a document, have every file of the document ready, in the order it was delivered. Each file's position is part of the digest, so the same files in another order give a different digest. For a filing, use every part that "Download" on [Filings](https://docs.settlemint.com/docs/console/reporting/filings) gave you, in the same order.
- **To anchor.** An organisation owner or a platform administrator, signed in as themselves, not in an impersonated session. A platform administrator anchors in an organisation they are a member of, in any organisation role. The organisation needs an active system on the selected network, an issuer identity on it that is active and trusted for document hashes, and the registry add-on. The page also needs a network selected.

## Steps [#steps]

The files stay on your machine. The browser hashes them and sends only the digests and lengths.

### Open the registry [#open-the-registry]

Open "Reporting", then **Anchor registry**. A strip above the table gives "Indexed up to block" and the "Registry" address. An entry written after that block appears once the indexer reads it, so an empty table is not proof that nothing was anchored. While the indexer has read no block, the page says "Nothing is indexed on this chain yet" and lists nothing.

### Select Check a document [#select-check-a-document]

In the page header, select **Check a document**. The dialog opens for any reader of this screen. "Check a document" also appears beside an asset's documents in the Console and the Investor portal, and needs no reporting access there.

### Enter the issuer and add the files [#enter-the-issuer-and-add-the-files]

1. In **Issuer identity**, enter the identity contract of the organisation you believe issued the document. It is required because two organisations can commit to byte-identical documents. The answer comes only from the registry the issuer's own system runs, so a document another issuer anchored never answers for this one.
2. Add the document's files, then move them up or down until they are in the order they were delivered. Choose the files themselves. The registry stores a manifest digest computed over the files, each of which is a part, so a pasted file hash finds nothing, even for a document that is anchored. A single-file document is one part.

### Select Check this document [#select-check-this-document]

Select **Check this document**. You have succeeded when the answer reads "Anchored by this issuer". [What each answer means](#what-each-answer-means) explains the other three.

## Read the registry [#read-the-registry]

The table shows "Document", "Anchored at", "Digest", "Subject", "Transaction", "Block" and "Entry id". **View** adds "Issuer" and "Type", and lists any column hidden because the window is narrow.

The page shows 25 entries at a time. "Previous page" and "Next page" walk the registry, and the caption under the table gives the range, for example "Showing 1 to 25, oldest first". The table's export downloads every entry that matches.

A filing that has an anchor shows an "Anchor registry entry" link. It opens this screen filtered to that filing's digest, and a **Digest** chip above the table says so. Select the chip, or "Show the whole registry" when no entry matches, to remove the filter. When the filter finds no entry, the page says "No entry for this filing" and that the registry holds no entry with this digest at or below the block the indexer has read.

## Anchor a document [#anchor-a-document]

An organisation owner, or a platform administrator of the deployment, can write any document into the registry from their own session. The platform writes the entry with the organisation's operations signer, under the organisation's issuer identity, so the entry names the organisation and not the person who wrote it. The [Audit trail](https://docs.settlemint.com/docs/console/reporting/audit-trail) records who asked for the write. For every other reader the **Anchor a document** button is unavailable, and its reason reads "Organisation owners and platform administrators anchor documents."

The registry has no function that changes or removes an entry, and the transaction that wrote an entry stays on the chain. A wrong digest or a mislabelled entry can only be superseded by writing another entry beside it. The registry is an add-on of the issuer's own system, so a system manager of that system can replace its implementation or archive it, and an archived registry takes no new entries.

1. Select **Anchor a document**.
2. Check **Subject identity**. It defaults to the organisation's own identity, which suits a corporate document. Enter a token's identity for an asset document. The field takes any identity, and the registry's trusted-issuer check decides whether the issuer may attest about it.
3. Choose the "Document type", "Regulatory filing" or "Investor report", and enter a **Document label**: a short word for the kind of document, never a client name, a deal reference, a filing identifier or a path to a file. A label that contains the organisation's identifier or a path or URL character is refused.
4. Add the files in the order the document is delivered. The browser sends only each file's digest and length, so the platform keeps no copy of the document.
5. Select "Review what will be written", check the subject, type, label, registry and each part's name, digest and size, and confirm "I understand this entry is permanent and public and cannot be corrected."
6. Select **Anchor this document**.

The result reads "Anchored", with the **Manifest digest** to keep, "Still being written" when the write outlived the request, or "Not written", with the reason. A custody approval policy that holds the transaction is one cause of "Still being written". Do not send the document again: the entry appears in the registry once the write completes. Writing the same document for the same subject again returns the existing entry.

## What each answer means [#what-each-answer-means]

| Answer | What it means | What to do |
| --- | --- | --- |
| **Anchored by this issuer** | The issuer committed to exactly these bytes, in the anchor registry their own system runs. | Nothing further. The document you hold is the one the issuer committed to. |
| **No entry of this issuer's, so far** | No entry of this issuer's stands at or below the block the indexer has read. The answer shows that block. It does not say the document was never anchored. | Check the order of the files and that you chose the delivered files. Try again once the indexer has read further. |
| **Nothing has been read yet** | The indexer has read no block on this chain, so there is no block to have looked up to. The answer says nothing about the document. | Try again once the indexer has caught up. |
| **This issuer's registry could not be named** | No system on this chain answers for the identity you named, more than one does, or the one that does runs no live registry. Nothing was read, so the answer says nothing about the document. | Check the issuer address and the network. |

## You should see [#you-should-see]

- **A check confirmed the document.** The answer reads "Anchored by this issuer". Any other answer means the document is not confirmed, and the answer gives the block it was read up to.
- **An anchor landed.** The result reads "Anchored", and the table lists the entry with the "Manifest digest" you kept. Select the "Anchor registry entry" link of a filing, or search the registry by that digest, to find it again.

## Troubleshooting [#troubleshooting]

| What you see | What it means and what to do |
| --- | --- |
| "This system has no anchor registry yet" | The document anchor registry add-on is not on the system. A system manager adds it from **Open system add-ons**. |
| "The anchor registry could not be loaded", or "The system could not be read" | The page could not read the registry or the system. Use the control to try again, or refresh the page. |
| "Nothing anchored yet" | The registry lists no entry at the block the indexer has read. Documents appear here once the indexer has read them. |
| "One of the chosen files could not be read, so nothing was checked." | The browser could not read one of the files. Choose the file again. |
| "The document could not be anchored." or "The decision was refused" | Read the reason in the dialog. The platform refuses a write without the disclosure confirmation, in an impersonated session, for a subject that is not a usable identity, for a label that would carry an identifier, and when the organisation has no active system, no issuer identity or no registry on the network. |
| **Anchor a document** is unavailable and **Review what will be written** is not offered | Your account is not an organisation owner or platform administrator, or the page has no registry or no selected network. |

## API routes [#api-routes]

The screen uses three routes of the [Platform API](https://docs.settlemint.com/docs/api-reference/v2):

- `POST /api/v2/reporting/anchors` writes an entry.
- `POST /api/v2/reporting/anchors/verify` checks a document.
- `GET /api/v2/reporting/anchors` searches a network's registry entries by exactly one of a manifest digest, a subject identity or a registry address.
