Skip to main content
Work sessions submitted by workers appear in the stream detail view. As a client, you review and approve (or dispute) each session before payment is released. Every approval is an on-chain action: the payment transfer and attestation mint happen in a single atomic transaction, so the worker’s proof of work is cryptographically tied to the funds they receive.

Session Lifecycle

Sessions move through clearly defined states. A session sits in Pending until you act on it. Approving it triggers an on-chain transaction; disputing it opens a review window where both parties can submit additional context.

Reviewing a Session (for Clients)

1

Open the stream detail page

From the dashboard, click the stream you want to review. The detail page shows all submitted work sessions under the Work Sessions section.
2

Find the session under WORK SESSIONS

Sessions are listed in reverse chronological order. Each card shows the submission date, duration, files changed, and requested payment amount at a glance.
3

Click to expand the full session report

Select View details on any session card to expand the full report, which includes:
  • Session timing — start time, end time, and active seconds tracked
  • Git statistics — files changed, lines added, lines deleted, and commits made
  • Changed file list — relative paths, change type (added/modified/deleted), and per-file diff stats
  • Worker statement — the worker’s own description of what was accomplished
  • Requested payment amount — calculated as active_seconds × rate_per_second, capped by available stream balance
  • Verification summary — the dashboard’s automated validation result and any verification flags
4

Click Approve to release payment atomically

When you are satisfied with the session, click Approve. Freighter prompts you to sign the transaction. Once confirmed:
  • Funds are transferred to the worker’s account
  • An attestation record is minted on-chain simultaneously
  • Both steps are atomic — if either fails, the entire transaction reverts
5

Or click Dispute to raise a concern

If you believe the session does not represent the agreed work, click Dispute. A text area appears where you must provide a written reason (minimum 20 characters). This opens a dispute period during which both parties can submit additional context.

Session Report Contents

The CLI never uploads file contents — only metadata. Changed file paths, additions, and deletions are included; actual source code is not. Files matching .gitignore or .avenignore patterns are excluded entirely.

For Workers: Requesting Payment

1

Stop your work session with the CLI

Run the following command in your repository when your work period ends:
The CLI calculates your active seconds and git statistics, shows you a preview of the report, and asks for confirmation before submitting.
2

Session appears as Pending in the dashboard

After submission, the session appears under Work Sessions on your stream’s detail page with a status of Pending review. Both you and the client can see it immediately.
3

Share the stream URL with the client for review

Send the client the link to the stream detail page. They can find the stream by navigating to the Aven dashboard and selecting the stream by its ID. They will see the session queued for review.
4

Request withdrawal once verification is complete

After the dashboard verifier processes the report, your session status updates to Verification complete. Click Request withdrawal to move it into the client’s review queue.
5

Withdraw once the client approves

When the client approves your session, the status becomes Release eligible. Click Withdraw in the dashboard to trigger the on-chain payout. Freighter prompts for one final signature to complete the transfer.

Dispute Resolution

Disputes allow either party to flag a session before payment is released.
  • The client can raise a dispute from the session card while it is in Pending client review status.
  • Both sides can submit written context after a dispute is opened.
  • If the client does not respond before the review deadline shown on the session card, the session auto-releases to the worker once the deadline expires.
  • Once both parties reach agreement, the client approves the session and the payout proceeds normally.
Approved sessions trigger an atomic on-chain transaction — the payment transfer and attestation minting happen simultaneously. There is no way to approve payment without creating an attestation, or create an attestation without payment.