create_job_offer
Send a job offer to a specific human. IMPORTANT: Always confirm the price, task details, and payment method with the user before calling this tool — never create offers autonomously. The human gets notified via email/Telegram and can accept or reject. Requires agent_key from register_agent. Rate limit: PRO = 15/day. Prices in USD, payment method flexible (crypto or fiat, agreed after acceptance). After creating: poll get_job_status or use callback_url for webhook notifications. On acceptance, pay via mark_job_paid. Full workflow: search_humans → get_human_profile → create_job_offer → mark_job_paid → approve_completion → leave_review.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the job/task | |
| agent_id | Yes | Your unique agent identifier (any string) | |
| category | No | Category of the task (e.g., "photography", "research", "delivery", "cleaning") | |
| human_id | Yes | The ID of the human to hire | |
| agent_key | Yes | Your registered agent API key (starts with hp_). Required. | |
| agent_lat | No | Agent latitude for distance filtering. Required if human has maxOfferDistance set. | |
| agent_lng | No | Agent longitude for distance filtering. Required if human has maxOfferDistance set. | |
| price_usd | Yes | Agreed price in USD. Must meet the human's minOfferPrice if set. Payment method (crypto or fiat) is flexible — agreed after acceptance. | |
| agent_name | No | Display name override (defaults to registered agent name) | |
| description | Yes | Detailed description of what needs to be done | |
| callback_url | No | Webhook URL to receive job status updates (ACCEPTED, REJECTED, PAID, COMPLETED). Must be a public HTTP(S) endpoint. | |
| payment_mode | No | Payment mode. ONE_TIME (default) for single payments. STREAM for ongoing stream payments. ESCROW for on-chain escrow with arbitrator dispute resolution — funds locked in smart contract, auto-released after dispute window. | |
| stream_method | No | Stream method. SUPERFLUID: agent creates an on-chain flow that streams tokens per-second. MICRO_TRANSFER: agent sends periodic discrete transfers. Required when payment_mode=STREAM. | |
| payment_timing | No | For ONE_TIME jobs only. "upfront" (default) = pay before work. "upon_completion" = pay after work is done. | |
| callback_secret | No | Secret for HMAC-SHA256 signature verification (min 16 chars). The signature is sent in X-HumanPages-Signature header. | |
| stream_interval | No | How often payments are made/checkpointed. Required when payment_mode=STREAM. | |
| stream_rate_usd | No | USD amount per interval (e.g., 10 = $10/day if interval=DAILY). Required when payment_mode=STREAM. Stream payments use crypto (USDC) on-chain. | |
| stream_max_ticks | No | Optional cap on number of payment intervals. Null = indefinite. | |
| preferred_payment_method | No | Signal to the human what payment methods you support. "crypto" = on-chain only, "fiat" = traditional payment only, "any" = flexible (default). The human sees this when deciding whether to accept. | |
| escrow_arbitrator_address | No | Wallet address of the arbitrator (from list_arbitrators). Required when payment_mode=ESCROW. The arbitrator resolves disputes and earns a fee (set by them, max 10%). |