# Claims

Claims are statements that are either true or false. Only true statements can be validated and settled on Fast.

In this lesson, you will learn about claims, what they are and who produces them. If you’re interested in the validation or settlement process, read our tutorial on the [Fast protocol](/fast-archived/core-concepts/fast-protocol.md).

## What are claims?

Claims are statements that are either true or false. They can be verified by external third parties and then settled on Fast. They may carry additional evidence to support the verification process, but any discussion on how that is handled is outside the scope of this tutorial.

Before a claim is validated and settled, it can optionally go through a *verification phase* performed by **verifiers.** These are specialized clients that confirm whether the claim’s data or proofs are valid.

These verifiers act as customizable verification services that can perform checks like:

* **Cryptographic or ZK proof validation**
* **TEE (Trusted Execution Environment) attestation**
* **Semantic or domain-specific validation** of computations or contracts

Once a verifier confirms a claim’s correctness and issues a signed proof, the claim can then be processed by validators for settlement.

This separation of *verification* and *validation* allows applications to handle complex or computation-heavy verification tasks off-chain or on parallel services, keeping the Fast core lightweight and scalable.

The simplest type of claims are signatures, where the statement is signed by a signer:

<div align="center"><img src="/files/62wfNGfPfrBfYXu16Pg0" alt=""></div>

For example, the signature below:

<div align="center"><img src="/files/3Y0igMoHlONG5uQxE91G" alt=""></div>

states that *I, Grigore, pay Xiaohong 10 USD*.

More generally, a claim referring to a payment transaction would be a signature by `$sender`

<div align="center"><img src="/files/x5qZRCaP490itx6oajlO" alt=""></div>

which specifies `$sender` is transferring `$value` tokens to `$recipient`.

Payments are claims because they state the change of asset balances. However, claims are not just about payments. Voting, escrow, verifiable computing, custom assets, auctions, app-chains or blockchains are all examples of claims and all of them are supported by Fast.

Let’s be more specific and take a look at a few other examples of claims you can settle in Fast.

* *I am Grigore Rosu* - a fact where the signer is important
* *Pythagoras theorem* - a fact where the signer is less important
* *The price of gold is 100 USD* - an oracle
* *The next random number is 17* - a verifiable random function
* *I want to buy a ticket to the Iron Maiden concert* - an intent
* *The result of your query is 42* - an AI service provided
* *Python program fibonacci on input 10 evaluates to 55* - the result of a computation requiring re-execution or a mathematical or zero-knowledge (ZK) proof based on Python formal semantics
* *My Angry Birds score is 739* - a fact requiring a 3rd party or ZK proof
* *My next move in this chess game with Alice is Nf3* - a fact modifying a shared storage location sequentially
* *I vote YES for that petition* - a fact modifying a shared storage location non-sequentially

## Who produces claims?

Users write claims and send them to Fast for validation and settlement. However, users can also write messages that instruct the Fast validators on how to generate their claims.

Fast allows two types of accounts, similarly to Ethereum: user-owned accounts and contract-based accounts. Claims can be initiated directly from a user-owned account and indirectly by the validators through contract-based accounts.

Accounts are required to sign any claims they issue, and these signatures allow validators to confirm both the authenticity and integrity of the claim.

{% hint style="success" %}
Some claims may also involve **verifiers** before they reach validators. In these cases, the verifier’s job is to independently check the claim’s correctness and issue a signed verification proof. Validators then use these verified claims to update state securely and deterministically. This pattern is common in workloads involving AI outputs, oracles, or zero-knowledge proofs.
{% endhint %}


---

# 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.fast.xyz/fast-archived/core-concepts/claims.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.
