Step-by-step guide
1
Connect your Freighter wallet
Open the Aven dashboard and connect your Freighter wallet. Make sure Freighter is configured for Stellar testnet — Aven currently operates on testnet only.
Aven never stores your wallet secret key. All transactions are signed locally in Freighter and broadcast to the Stellar network.
2
Create a stream
Navigate to /stream/create. The guided four-step form collects everything the smart contract needs to set up an escrow agreement.Fill in each field:
3
Fund the stream — approve the Freighter transaction
After completing the form, Aven constructs a Stellar transaction that locks the full budget in the stream contract escrow. Freighter will prompt you to review and sign the transaction.Once you sign, the stream is live and the escrow is funded. You will be redirected to the stream page at
/stream/[id].4
Share the stream ID with your freelancer
Copy the stream ID from the stream page URL or the stream details panel and send it to your freelancer. They will need it when authorizing the
aven-stellar CLI for the first time.The stream ID is not sensitive — it is a public contract identifier. Anyone can view the stream’s on-chain state, but only the designated recipient can submit work sessions.
5
Monitor the stream page
Visit
/stream/[id] at any time to see the live state of the engagement:- Funding panel — total budget, amount reserved for pending/approved sessions, and remaining unreserved escrow.
- Work sessions tab — all submitted sessions with their current status (
Pending,Reserved,Approved,Disputed). - Active session indicator — shows whether the freelancer has an active CLI session running right now.
6
Review a submitted work session
When the freelancer stops a session and submits it, it appears under the WORK SESSIONS tab on the stream page. Click any submitted session to expand the full report. You will see:
- Active time — the total tracked active seconds, minus idle periods detected by the watcher.
- Git changes summary — the branch, starting commit, ending commit, list of changed file paths (relative paths only — no file contents), additions count, and deletions count.
- Delivery statement — the freelancer’s written summary of what was accomplished.
- Payment amount — the contract-calculated figure (
active seconds × rate), capped by the remaining escrow. This number is enforced by the smart contract and cannot be altered manually. - Evidence hash — a cryptographic commitment to the report data, which is included in the on-chain attestation.
The Aven verifier independently validates the payment calculation before reserving funds. You are approving the work itself — the contract always enforces the correct payment amount.
7
Approve or dispute the session
After reviewing, choose one of two actions:Approve
- Calls
approve_withdrawalon the stream contract. - Immediately triggers
withdraw_approved, transferring the reserved amount to the recipient’s wallet. - Mints a permanent on-chain attestation linking the work record to both addresses.
- Changes the session’s
WithdrawalStatustoDisputed. - Freezes the reserved funds in escrow — neither party can access them.
- Opens the resolution process (see the Disputes guide).
8
Payment is released automatically on approval
Once you approve, the contract executes the fund transfer without any further interaction. The payment appears in the recipient’s Freighter wallet and a verifiable attestation is minted on-chain.The stream remains open for additional sessions until the budget is exhausted, the duration expires, or you cancel it.
Stream management
After a stream is live you can perform additional management actions from the stream page:Pause
Temporarily suspends the stream. The freelancer’s CLI will not be able to submit new sessions while the stream is paused. Existing reserved amounts are unaffected.
Resume
Re-activates a paused stream. The freelancer can start new work sessions immediately.
Cancel
Ends the stream permanently and returns all unreserved escrow funds to your wallet.
Dashboard overview
Dashboard
View all payment streams you have sent or received. Track funding, session activity, and attestations across all your engagements.
Stream page
The
/stream/[id] page is your primary hub for a live engagement: monitor sessions, review reports, and approve or dispute payments.Profile & attestations
Every approved session produces a portable on-chain attestation visible at
/profile/[address]. You can verify any attestation independently at /verify.Create a stream
Start a new engagement with the guided four-step stream creation flow at
/stream/create.