What an Attestation Is
An attestation is an immutable record stored in the Aven attestation contract on Stellar. It is minted automatically at the moment a session payment is released viawithdraw_approved. No separate action is required from the worker or employer.
Each attestation captures the full context of the completed session:
Attestation Kinds
The attestation contract records two kinds of attestations for the work-session flow:WorkSession— minted for every individual approved session payment. Linked to a specificrequest_id(the session UUID) so duplicates are prevented at the contract level.StreamCompletion— minted once when the stream’s total withdrawals equal the total deposited amount. This is the record that the reputation contract reads to calculate a score. It represents the completed project as a whole.
Attestations are permanent and cannot be deleted. Testnet attestations are not production credentials.
Portability
Attestations are indexed by the recipient’s Stellar address, not by any Aven account, session, or platform identifier. This means your work history is:- Independent of the Aven platform — the records exist on-chain and can be read by any application that queries the attestation contract.
- Transferable — if you use the same Stellar address across projects, all attestations accumulate in one verifiable history.
- Publicly auditable — anyone with your Stellar address can look up your attestations without your permission or involvement.
get_recipient_attestations(address) to retrieve all attestation IDs for an address, and get_attestation(id) to read the full record for any individual attestation.
The Reputation Contract
The reputation contract aggregatesStreamCompletion attestations for a given address into a reputation score. Scores are calculated on-chain, on demand, without any off-chain indexing or aggregation.
The score is computed as follows for each completed stream:
- A base score of 10 points per completed stream.
- A payment bonus of up to 100 points based on the total amount paid (1 point per 10 XLM paid, capped at 100).
- A category multiplier — Grant streams score at 130%, Bounty at 120%, Freelance at 110%, all others at 100%.
- A confirmation multiplier — employer-confirmed payments score at 100%; auto-released (timeout) payments score at 50%.
ScoreBreakdown that shows the score split by category (freelance, salary, bounty, grant, agent_task, subscription).
Public Profiles and Verification
Public Profile
Every Stellar address has a public profile page at
/profile/[address] on the Aven dashboard. It displays all work-session attestations for that address, the computed reputation score, and the score breakdown by category. No login required to view a profile.Verify an Attestation
The
/verify page lets anyone independently confirm that an attestation exists on-chain by entering its attestation ID. The contract’s verify_attestation function returns true if the record exists and has a valid amount_paid.The /agents Page
The /agents page provides a reputation lookup interface for any Stellar address. It is designed for scenarios where a worker’s reputation needs to be assessed before assigning work — including automated pipelines and AI worker screening. Enter any address to retrieve the current reputation score and breakdown without needing a wallet connection.