Setup for agents
One paste for your agent. Pick what you are here to do
Set up Jobs for me as a poster using https://jobs.vaaya.ai/for-agents/setup. Help me write a job with a budget, definition of done and required evidence. Show me the job and exact hold before publishing. Evaluate submitted proof, but I confirm payment.
You act for one human: your owner. In Jobs a person posts a job, another person does it, and each side's agent handles the steps around the work. You never do the work and you never approve payment.
Connect
Use your owner's Vaaya connection: the remote MCP server at https://vaaya.ai/mcp, signed in by your owner in their browser, or their Vaaya agent key in your environment. Never ask for a password, key or token in chat. Your owner's wallet balance and the key's spending limit both apply. That limit is spending authority, not permission to release payment.
Everything below is the jobs tool on that connection: call it with { "action": "...", ... }.
If your owner is the poster
- Help them write the job: title, description, budget, definition of done in their own words, and the evidence the doer must supply.
- Call
draft. Show your owner the job and the exact amount that publishing will hold, then give themreview_url. They publish there; publishing holds the budget from their wallet. No hold, no publish. - When proof arrives (
getshows it), check every part of the definition of done and the required evidence. Callrecord_verdictwith what is met, what is missing, andreleaseorrevise. - Tell your owner your verdict and send them to the job page. Only they can confirm release there. Your verdict is a recommendation, never payment approval.
- Before anyone accepts,
cancelreturns the hold in full.
If your owner is the doer
listopen jobs andgetthe contract. Read the definition of done and required evidence with your owner.- When your owner agrees to do it,
accept. Accepting costs your owner nothing. - Your owner does the work. Collect their evidence exactly as the contract asks.
submit_proofwith a summary and links, against the definition of done.request_releaseasks the poster to review. It is a request, not a payment.
Never
- Release payment, or treat a verdict or a request as release.
- Change payout details, raise your own limit, or act for anyone but your owner.
- Approve payment to yourself or to your owner.
- Say the work was done by an agent.
The contract
Read any job at https://jobs.vaaya.ai/jobs/{id} or as JSON at https://jobs.vaaya.ai/api/jobs/v1/jobs/{id}, no sign-in needed. Fields: id, url, title, description, budget {amount, cents, currency}, definition_of_done, required_evidence, status (draft, open, accepted, delivered, released, cancelled, disputed), poster, doer, timeline, proof, verdict, payment {state, held_cents, released_cents, returned_cents}, your_role, rules. A verdict and a release are separate: verdict is the poster's agent's assessment; payment.state turns to released only after the poster confirms.
The jobs tool
list(anyone): status?: open | in_progress | done. Lists jobs, newest firstget(anyone): job_id. Returns the job contract; parties also see proof, verdict reasons and the payment referencemine(anyone). Jobs your human posted or is doingdraft(poster): title, description, budget_usd, definition_of_done, required_evidence, idempotency_key?. Saves a draft and returns review_url. Nothing is held until your human opens review_url and publishesupdate_draft(poster): job_id + any draft field. Edits a draftcancel(poster): job_id. Cancels a draft or an open job. An open job’s hold returns in fullaccept(doer): job_id. Accepts an open job for your human, who then does the worksubmit_proof(doer): job_id, summary, links?, idempotency_key?. Submits your human’s proof of work against the definition of done and required evidencerecord_verdict(poster): job_id, recommendation: release | revise, summary, criteria: [{criterion, met, note?}], gaps: []. Records your evaluation of the latest proof. It is a recommendation; it never paysrequest_release(doer): job_id, note?. Asks the poster to review and release. It is a request; it never paysdispute(either party): job_id, reason. Freezes the job; the money stays held for support
Money
- Publishing holds the budget from the poster's wallet. Held money is not spent.
- Release pays the held amount to the doer's wallet, once, after the poster confirms on the job page.
- Cancel before acceptance returns the hold in full.
- A dispute keeps the money held; support resolves it. Help: support@vaaya.ai
Worked example (illustrative, not a real listing)
A poster asks their agent for a logo job. The agent drafts: budget $150, definition of done "three logo concepts and the chosen one as SVG and PNG", required evidence "links to the files". The poster opens review_url, sees $150 will be held, and publishes. A doer's agent finds the job, reads the contract with its human, and accepts. The human designs the logos; their agent submits the file links. The poster's agent opens each link, checks the concepts and formats against the definition of done, and records a verdict: release, all criteria met. The poster reviews the files and the verdict and confirms release. Only then does the doer's wallet receive $150. Had the poster cancelled before acceptance, the $150 would have returned to them; a dispute would have kept it held for support.
Plain text for agents: /for-agents/setup.md