# Attestation Providers

On the Toto Chain, **reputation** is everything. It is the metric that grants users fine-grained permissions and privileges, like becoming a validator or a member of the Technical Committee. The entire reputation system is built upon a foundation of trust, using signals captured from real-world, external sources to assign on-chain reputation. At the core of that foundation are the **Attestation Providers (APs)**.

This document explains what Attestation Providers are, their special role, and how they help build a secure "web of trust" among users, all while ensuring no private user information is stored on the chain.

### What is an Attestation Provider?

An Attestation Provider is a special, trusted account on the Toto Chain with a unique and critical function: **to verify external information and record it on the blockchain as a trusted fact, or "attestation."**

Think of an AP as a notary for the digital world. When an AP confirms a piece of information, the rest of the chain accepts it as true. This is why the chain must be able to distinguish between data coming from a trusted AP account versus data from any other account. Using distinct accounts for this role allows the system to be flexible and decentralized, supporting multiple trusted providers who are approved by the community.

### What Can Attestation Providers Do?

Attestation Providers have two primary functions that no other account can perform:

**1. Verifying Digital Credentials** The first step to building reputation is establishing a Decentralized Identity (DID). An Attestation Provider can verify a user's control over a wide range of off-chain credentials—like an email address, social media accounts, domains, or information from KYC providers—and then create an on-chain record of that verification. This is the initial building block of a user's reputation score.

**2. Confirming the Web of Trust "Handshake"** A "handshake" (also known as a "moment" or "web of trust ceremony") is a powerful way to build trust and earn a significant amount of reputation. It involves a real-world, face-to-face meeting between two users.

To prevent users from falsely claiming these interactions, an Attestation Provider acts as a trusted third party. The AP service verifies that the handshake actually occurred, and only then confirms it on-chain. This tri-party system (User A, User B, and the AP) creates a robust web of trust based on verified, real-world interactions.

### How are Attestation Providers Managed?

The list of official, trusted Attestation Providers is managed by the **Technical Committee**. This ensures that only vetted and reliable services can add attestations to the chain.

* **Genesis:** The Toto Chain starts with a single, pre-configured Attestation Provider account.
* **Proposals:** The Technical Committee can add new APs or remove existing ones by voting on proposals.
* **Decentralization:** Anyone can build their own Attestation Provider service. However, for that service to be recognized by the chain, it must first be approved and added to the official list by the Technical Committee. This strikes a balance between allowing for a competitive ecosystem of providers and maintaining the security and integrity of the reputation system.

### How Reputation is Calculated

The attestations recorded by APs, combined with other on-chain activities, directly translate into reputation points for users. The calculation is based on two main categories:

**1. Credential Attestations** This is the foundational layer of reputation, established by verifying a user's identity through trusted APs.

**2. On-Chain Actions** Users can also increase their reputation through active participation in the ecosystem:

* **Participating in the Web of Trust (Handshakes):** Each verified handshake provides a significant increase in reputation (1,000,000 points!).
* **User Referrals:** Referrers are incentivized for bringing active users to the chain. Each successful referral increases reputation by a smaller amount (1 point for each referral). To prevent gaming the system, the reputation gained from referrals is capped.
* **Claiming Full NFTs:** Actively participating in the chain's economy by collecting a full set of fractional NFTs to claim a full NFT also contributes to a user's reputation score.
* **Liveness Reputation:** A dynamic score that measures a user's recent on-chain activity. This score increases when a user is active and gradually decreases during periods of inactivity.

The following image illustrates how these actions contribute to a user's total reputation score:

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

<table><thead><tr><th width="291">Action</th><th>Reputation</th><th>Maximum</th></tr></thead><tbody><tr><td>DID</td><td>N/A</td><td></td></tr><tr><td>Email Credential Attestation</td><td>100,000</td><td></td></tr><tr><td>Google Credential Attestation</td><td>1,000,000</td><td></td></tr><tr><td>Facebook Credential Attestation</td><td>1,000,000</td><td></td></tr><tr><td>DNS Verification</td><td>2,500,000</td><td></td></tr><tr><td>User Referral</td><td>100</td><td>100,000,000</td></tr><tr><td>Handshake</td><td>1,000,000</td><td>200,000,000</td></tr><tr><td>Claim Full NFT</td><td>100,000</td><td>50,000,000</td></tr><tr><td>Activity Tracking</td><td>1 to 100</td><td>50,000,000</td></tr><tr><td></td><td><strong>Total</strong></td><td><strong>600,000,000</strong></td></tr></tbody></table>


---

# 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://totochain.gitbook.io/totochain/knowledge-base/attestation-providers.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.
