# Attestation

{% hint style="danger" %}
**Outdated Documentation:** This page covers the architecture used for USC V1, which was deprecated on 2026-03-30. For the latest documentation, please visit: [usc documentation](https://docs.creditcoin.org/usc)
{% endhint %}

Attestation is the process by which the Creditcoin Decentralized Oracle keeps track of the finalized state of external source chains. State transitions of each source chain are monitored by a set of attestors. Each attestor submits an attestation, a cryptographic commitment showing their view of new blocks in the source chain. Since no single attestor can be fully trusted, we require consensus among independent attestors.

## **Attestation Process**

The attestation process is roughly outlined below:

* Attestors constantly monitor the *source chain* for new finalized blocks.
* Attestors then check the Creditcoin chain to see if they are eligible to attest at a given block height, using a mechanism such as a [*VRF*](https://en.wikipedia.org/wiki/Verifiable_random_function).
* If an attestor is eligible, it summarizes the progress of the source chain height from the last finalized attestation on Creditcoin to the current height (say *h*) based on their view. All eligible attestors for that block height sign their attestation and submit it to Creditcoin as their "vote" for the source chain at height *h*.
* Creditcoin validators verify the eligibility of votes received for a given block height. Each signed attestation from an attestor acts as a vote, and valid attestations with the same value (i.e., same digest) are accumulated. Once the accumulated votes for a particular attestation cross the required threshold, that attestation is confirmed and added to on-chain storage.

## Attestation Diagram

<figure><img src="/files/EQHrLO1pWWzPZzFt1X2e" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.creditcoin.org/usc/usc-v1/creditcoin-oracle-subsystems/attestation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
