> ## Documentation Index
> Fetch the complete documentation index at: https://aven-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Independently Verify an Aven Work Attestation On-Chain

> Use the Aven verify page or query the Attestation Contract directly to confirm a work attestation is genuine and has not been tampered with.

Aven attestations are tamper-proof on-chain records written to the Attestation Contract on Stellar testnet. Anyone — including potential employers, clients, or auditors — can independently verify them using the `/verify` page on the Aven dashboard or by querying the Attestation Contract directly. No Aven account is required to perform a verification.

## What Verification Proves

Querying an attestation ID on-chain confirms three things simultaneously:

* **The attestation ID exists** in the Attestation Contract — it was created by the Aven verifier as part of an approved work session, not fabricated off-chain.
* **The recorded fields are intact** — stream ID, sender address, recipient address, amount paid, and evidence hash are exactly as written at approval time. The smart contract stores them immutably.
* **The smart contract confirms validity** — calling `verify_attestation(attestation_id)` returns `true` only for attestations written by the verifier; it returns `false` or errors for IDs that do not exist.

## Verify Using the Aven Dashboard

The `/verify` page is the quickest way to check an attestation without any technical setup.

**1. Open the verify page**

Navigate to `/verify` on the Aven dashboard at [aven-chi.vercel.app/verify](https://aven-chi.vercel.app/verify). No wallet connection is required.

**2. Enter the attestation ID**

Paste the attestation ID you received from the worker or found on a profile page. Attestation IDs are unique numeric identifiers assigned by the contract at the moment of creation.

**3. Review the on-chain record**

The page queries the Attestation Contract and displays the full attestation record. Review each field against what was reported.

**4. Confirm the fields match**

Cross-reference the sender and recipient addresses, the amount, the active duration, and the evidence hash with any supporting documentation (such as a work report PDF or email summary) provided by the worker.

## What the Attestation Record Shows

Every attestation written on-chain contains the following fields:

| Field | Description |
| - | - |
| `attestation_id` | Unique on-chain identifier for this attestation |
| `stream_id` | The Aven stream this attestation was created from |
| `sender` | Stellar address of the client (employer) |
| `recipient` | Stellar address of the worker (freelancer) |
| `amount` | Amount paid in XLM or USDC (Stellar seven-decimal fixed-point) |
| `active_duration_seconds` | Verified active working seconds recorded by the CLI |
| `evidence_hash` | Cryptographic commitment to the full work report and delivery branches |
| `requested_at_ledger` | Stellar ledger number when the session was submitted for review |
| `work_start_ledger` | Stellar ledger number when the work session began |

> [!NOTE]
>
> The `evidence_hash` field contains a cryptographic commitment to the full work report, including session timing, Git change statistics, the worker's delivery statement, and the head commit hashes of any verified delivery branches. If anyone claims a different report for the same attestation, the hash will not match — the mismatch is proof of tampering.

## Verify Using Stellar Laboratory

For technical users who want to query the Attestation Contract directly — without going through the Aven dashboard — Stellar Laboratory provides a contract invoke interface.

**1. Open Stellar Laboratory**

Navigate to [laboratory.stellar.org](https://laboratory.stellar.org) and switch to **Testnet**.

**2. Navigate to the contract invoke interface**

Select **Smart Contracts → Invoke Contract** from the top navigation.

**3. Enter the Attestation Contract ID**

Paste the Attestation Contract address for Stellar testnet. You can find this on the Aven dashboard's `/verify` page or in the project documentation.

**4. Call verify\_attestation**

Choose the `verify_attestation` function and supply the `attestation_id` as the argument. Submit the invocation.

**5. Read the result**

The contract returns `true` if the attestation exists and is valid. Any other result — `false` or a contract error — means the ID does not correspond to a valid Aven attestation.

## Finding Your Attestation IDs

There are two ways to retrieve attestation IDs for a given address:

* **Profile page** — Navigate to `/profile/[your-stellar-address]` on the Aven dashboard. All attestations earned as a recipient are listed there with their IDs.
* **Contract query** — Call `get_recipient_attestations(your_address)` on the Attestation Contract to retrieve the full list programmatically from any Stellar-compatible tool.

> [!TIP]
>
> Share your attestation IDs with potential employers as proof of completed work. They can verify every attestation independently using the `/verify` page — without trusting you, without an Aven account, and without any special tooling.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.