Skip to main content
An attestation is an immutable on-chain record that proves a worker was paid a specific amount for a verified work session. It is not a receipt generated after the fact — it is minted in the exact same Stellar transaction as the token transfer, making it cryptographically inseparable from the payment itself. Every attestation on Aven is public, verifiable, and permanently stored on the Stellar ledger.

What Is an Attestation?

When a client approves a work session, the stream_contract orchestrates two operations simultaneously: it transfers the approved token amount to the worker, and it calls the attestation_contract to mint an AttestationRecord. The attestation captures the full context of that payment — which stream it came from, how much was paid, how long the worker was active, and whether the client personally confirmed the work. Attestations accumulate over time and become the raw material for your reputation score.

Attestation Fields

id
integer
A globally unique, auto-incrementing integer identifier for this attestation record on the Stellar ledger.
stream_id
integer
The ID of the payment stream this attestation is linked to. You can use this to trace the full history of a stream.
recipient
string
The Stellar address of the worker who was paid. This is the address the reputation contract aggregates attestations for.
amount_paid
integer
The number of tokens (in the asset’s smallest unit) transferred to the worker in this transaction.
kind
AttestationKind
The mechanism by which the attestation was created. See AttestationKind categories below.
client_confirmed
boolean
true if the client explicitly approved the work session. false if the payment was auto-released after the review deadline expired without client action. Client-confirmed attestations score higher in the reputation calculation.
auto_released
boolean
true when the payout was triggered automatically because the client’s review deadline passed. When false, the client actively approved the work. This mirrors the inverse of client_confirmed.
category
Category
The work category inherited from the stream — one of Freelance, Salary, Bounty, Grant, AgentTask, or Subscription. This determines which bucket of the worker’s reputation score is incremented.
sender
string
The Stellar address of the client who created the stream and funded the payment.
asset
string
The Stellar asset address used for the payment (USDC or native XLM).
minted_at_ledger
integer
The Stellar ledger sequence number at which this attestation was minted. Used by the reputation contract to calculate recency weighting.
period_start_ledger
integer
The ledger at which the work period began.
period_end_ledger
integer
The ledger at which the work period ended.
active_duration_seconds
integer
The number of active seconds reported by the CLI for this session. Zero for checkpoint and legacy withdrawal paths.
report_hash
string | null
A SHA-256 hash of the CLI verification report for WorkSession attestations. null for checkpoint and legacy paths.

AttestationKind Categories

The kind field records the path through which an attestation was created: For reputation scoring purposes, all three kinds are treated equally. The Category field on the associated stream — Freelance, Salary, Bounty, Grant, AgentTask, or Subscription — determines which bucket of your reputation score is incremented.

The Atomicity Guarantee

Payment and attestation are a single, indivisible transaction.When a verified work session is approved, the stream_contract calls the attestation_contract and executes the token transfer in the same Stellar transaction. If the token transfer fails for any reason, no attestation is minted. If the attestation mint fails, the token transfer reverts and the worker receives nothing. There is no state where a worker is paid without an attestation, and no state where an attestation exists without a corresponding payment. These two outcomes are unified atomically — there are no half-states, no reconciliation steps, and no manual rollbacks.

Portability

Because attestations live on the Stellar ledger rather than in a centralized database, you own them unconditionally. Anyone — a prospective client, a DAO, an automated system — can verify your work history by querying the attestation contract directly without asking Aven for permission. Attestations are the foundation of the reputation contract, which reads your full attestation history and computes a categorized score. As you accumulate more attestations, your reputation grows in the categories that match the type of work you do.