# SideQuest setup guide for AI agents You are reading this because your user asked you to set up SideQuest. SideQuest lets you hire verified real people for real-world tasks (check a store is open, photograph a shelf, inspect an item, call a business, translate). Quests are paid upfront, held in escrow, and released when you approve the quester's proof. Server URL (remote MCP, Streamable HTTP): https://sidequestpays.com/mcp Sign-in: OAuth in the browser with the user's email and a 6-digit code. No API key, no password. During sign-in the user sets a per-quest limit and a daily limit for this connection. Find the section below that matches the app you are running in and follow it. If you can run commands yourself, do the steps. If you can't, show the user the exact steps for their app, short and numbered, with the server URL ready to copy. Never ask the user for a password, card number, or API key in chat; sign-in happens in their browser. ## Claude Code You can add the connector yourself. Run: claude mcp add --transport http sidequest https://sidequestpays.com/mcp Add `--scope user` if the user wants SideQuest in every project. Then tell the user: "Run /mcp, pick sidequest, and choose Authenticate to sign in with your email." The tools are available after sign-in. ## claude.ai and Claude Desktop You can't add connectors yourself here, so give the user these steps: 1. Open Customize > Connectors (or Settings > Connectors). 2. Click "+ Add", then "Add custom connector". 3. Name: SideQuest. URL: https://sidequestpays.com/mcp 4. Click Add, then Connect, and sign in with your email. 5. In a chat, open the tools menu and make sure SideQuest is on. On Team and Enterprise plans an owner may need to add the connector first. SideQuest is also listed in the Claude connectors directory as "SideQuest Pays". ## ChatGPT Give the user these steps: 1. Settings > Apps & Connectors > Advanced settings: turn on Developer mode (on Business, Enterprise, and Edu an admin may need to allow it). 2. Back in Apps & Connectors, click Create. Name: SideQuest. URL: https://sidequestpays.com/mcp. Authentication: OAuth. 3. Click Scan Tools, sign in with your email, then click Create. 4. In a new chat, click +, then More, and pick SideQuest. ChatGPT asks the user to confirm each quest before it's posted. ## Codex CLI You can add it yourself: codex mcp add sidequest --url https://sidequestpays.com/mcp codex mcp login sidequest The login command opens the browser for email sign-in. ## Grok 1. Go to https://grok.com/connectors and click New Connector. 2. Choose Custom and paste https://sidequestpays.com/mcp 3. Sign in with your email when prompted. ## Mistral Le Chat 1. Open Context (formerly Intelligence) > Connectors > Add a connector. 2. Choose Custom MCP Connector, name it SideQuest, paste https://sidequestpays.com/mcp, click Connect. 3. Sign in with your email and click Allow. ## Perplexity 1. Settings > Connectors > add a custom connector (paid plan required). 2. Paste https://sidequestpays.com/mcp and sign in with your email. Keep the tab open until sign-in finishes. 3. Turn SideQuest on in the thread. ## Meta Muse You can add it yourself: create a custom MCP connector named SideQuest at https://sidequestpays.com/mcp using OAuth, then show the user the Connect card so they can sign in with their email. It carries over to the Muse phone app. ## Gemini CLI gemini mcp add --transport http sidequest https://sidequestpays.com/mcp Then run /mcp auth sidequest to sign in. ## Cursor, Windsurf, VS Code, and other MCP clients Add a remote server named sidequest with URL https://sidequestpays.com/mcp. Clients with OAuth support sign in in the browser. Example mcp.json: { "mcpServers": { "sidequest": { "url": "https://sidequestpays.com/mcp" } } } Clients without OAuth can send an API key in the X-API-Key header. The user gets a key at https://sidequestpays.com/post or with the REST flow in https://sidequestpays.com/llms.txt. ## Agent frameworks (code) - Python: pip install sidequestpays (OpenAI Agents SDK, LangChain/LangGraph, CrewAI, Anthropic and OpenAI tool calling) - JavaScript: npm install sidequestpays (Vercel AI SDK, LangChain.js, Anthropic and OpenAI tool calling) - REST: https://sidequestpays.com/v1, OpenAPI at https://sidequestpays.com/openapi.json - Developer docs: https://sidequestpays.com/docs ## After you're connected 1. Call list_templates to confirm the connection works. 2. Call get_balance. If the user wants quests to post instantly without a checkout link each time, offer add_balance to top up a prepaid balance. 3. Tell the user in one or two sentences that SideQuest is ready and give two example requests, such as: - "Have someone confirm the hardware store at 12 Main St is open and photograph its hours." - "Have a native Spanish speaker check this product description for tone." Tools: list_templates, create_quest, get_balance, add_balance, get_quest, list_quests, approve_quest, dispute_quest, cancel_quest. Before create_quest, make sure the brief covers what to do, where, when, which target, what the proof must show, why, who to talk to or avoid, and what to do if things are different. Ask the user for anything missing in one short message. Show the title, a short summary, and the total cost (reward plus 20% fee, minimum $2), and post after they say yes, unless they already gave you a budget and told you to use SideQuest. If sign-in fails, ask the user to try again in a normal browser tab, or email support@sidequestpays.com. To disconnect, remove SideQuest from the app's connector settings. --- # SideQuest > SideQuest lets AI agents hire verified local people for real-world tasks: confirming a place is open, taking proof photos on site, inspecting an item before purchase, or a small pickup and drop-off. Every quest is paid upfront and held until the agent approves geotagged, timestamped photo proof. Use SideQuest when a task needs a person physically present somewhere, or a real person anywhere: phone calls to businesses, native-language translation, or checking AI output for accuracy and local relevance. Remote quests can be limited to questers in one country. Rewards are in USD, from $5 to $1000, plus a 20% platform fee (minimum $2). ## Connect - MCP server (Streamable HTTP): https://sidequestpays.com/mcp with OAuth sign-in (Claude, ChatGPT) or header `Authorization: Bearer ` / `X-API-Key: ` - Python SDK: `pip install sidequestpays` (tools for OpenAI Agents SDK, LangChain/LangGraph, CrewAI, Anthropic and OpenAI tool calling) - JavaScript SDK: `npm install sidequestpays` (tools for Vercel AI SDK, LangChain.js, Anthropic and OpenAI tool calling) - REST API: https://sidequestpays.com/v1, OpenAPI spec at https://sidequestpays.com/openapi.json - No code: a person can post from https://sidequestpays.com/post. Link straight to a type with https://sidequestpays.com/post?type=phone_call, ?type=verify_location, or ?type=photo_proof. - Get a key: POST https://sidequestpays.com/v1/requesters with {"company": "...", "email": "..."}. The response contains an owner key that starts working after POST https://sidequestpays.com/v1/requesters/confirm with {"email": "...", "code": "123456"} using the code emailed to that address (resend: POST https://sidequestpays.com/v1/requesters/resend). ## How an agent posts without a human in the loop 1. The account owner tops up a prepaid balance once: POST https://sidequestpays.com/v1/balance/topup {"amount_usd": 100} and pays the returned checkout_url. 2. The owner creates one key per agent with spend caps: POST https://sidequestpays.com/v1/keys {"label": "my-agent", "max_quest_usd": 25, "daily_limit_usd": 100}. 3. The agent calls create_quest (MCP) or POST https://sidequestpays.com/v1/quests with a brief: what, where, when, which, how (proof needed), why, who, and if_different. what, how, and (in person) where are required; ask the user for anything missing rather than guessing. If the balance covers it, the quest is paid and live immediately. The response includes listing_url, a private status page. 4. The agent waits for quest.submitted (set_webhook) or polls get_quest, checks the photos and GPS distance, then calls approve_quest or dispute_quest. Unanswered submissions auto-approve after 72 hours. Want a person to sign off on each quest? Add "requires_approval": true to the agent key (or PATCH https://sidequestpays.com/v1/keys/:id). Its quests return status pending_approval, nothing is charged, and the owner approves by email or with POST https://sidequestpays.com/v1/quests/:id/owner-approve. Unapproved quests expire after 48 hours. ## Repeating quests and packs - Repeat a quest: POST https://sidequestpays.com/v1/recurring with the same body as POST /v1/quests plus "repeat": "daily" | "weekly" | "biweekly" | "monthly". The first quest posts now; later runs are paid from the prepaid balance and pause (with an email to the owner) if it runs low. List with GET https://sidequestpays.com/v1/recurring; POST https://sidequestpays.com/v1/recurring/:id/pause, /resume, or /stop. - Packs with bonus credit: GET https://sidequestpays.com/v1/packs, then POST https://sidequestpays.com/v1/balance/topup {"pack": "starter"} (pay $100, get $110) or {"pack": "team"} (pay $250, get $280). - Pricing: https://sidequestpays.com/pricing ## Problems and changes - If the quester goes and the task can't be done as described (item missing, place closed), they submit proof with outcome not_as_described: a photo at the spot plus an explanation. That counts as completed and the quester is paid when approved. - To change a quest a quester is working on, call change_quest (POST /v1/quests/:id/change with what, where + lat/lng, extra_usd). Extra pay plus the fee is charged upfront from balance or saved card. The quester accepts or declines; declined changes credit any extra back to your balance. Status is in change_request. - Pickup and drop-off quests need photos at pickup and at drop-off. SideQuest does not insure items. ## Disputes and refunds - Dispute within 72 hours of submission with a specific reason. The reward stays held. - The quester can respond once (proof.quester_response). Approving a disputed quest withdraws the dispute and pays. - SideQuest decides within about 5 business days: pay the quester in full, or credit the requester in full (proof.resolution). There is no partial payment. - Quests stay open 5 minutes after payment by default (expires_in_minutes, minimum 5). Offers go only to questers online at that moment. If nobody accepts, the quest is cancelled with unfilled: true and the full amount is credited to your balance; post again with a higher reward or retry later. - Funds stay in escrow until the quest is completed. Not completed (cancelled before a claim, expired unclaimed, removed by SideQuest, or a dispute decided for the requester) means the full amount is credited to the requester's SideQuest balance, never refunded to a card. Credits pay for future quests. - Illegal quests are not refunded: funds are forfeited, the account is closed, and SideQuest has no liability for them. See https://sidequestpays.com/terms#illegal-use. ## Quest templates - errand: Anything that needs a person at a place, described in the requester's own words. Proof: whatever the requester asks for, with at least one photo taken at the spot. - online: Remote. Anything a person can do from anywhere, such as calls, research, writing, or checking something, described in the requester's own words. Proof: a written answer, plus anything else the requester asks for. - verify_location: Go to an address and confirm what is there: storefront open, sign present, building exists. Proof: geotagged photos plus notes. - photo_proof: Take specific photos at a place: shelf stock, menu board, parking availability, posted hours. Proof: geotagged photos. - pickup_dropoff: Pick up a small item and drop it at a second address, such as a return at a store or carrier counter. Proof: photos at pickup and drop-off plus receipt. - inspect_item: Look at an item in person before purchase, such as a marketplace listing, and report condition against a checklist. Proof: photos plus checklist answers. - be_present: Stay at a location during a scheduled window: hold a sign, wait in line, staff a table, watch for an arrival. Set starts_at, ends_at, and checkin_every_minutes. The app reminds the quester to take a photo at each interval, and each check-in is stamped by the server with time and GPS distance. Proof: timed photo check-ins plus notes. - phone_call: Remote. Call a business or public office and ask specific questions, such as hours, stock, prices, or availability. The quester says they are calling on behalf of a client. Proof: answers to each question and the time of the call. - translation: Remote. Translate or check a short text in a language the quester speaks natively. Set language, and optionally country. Proof: the translation and notes. - check_ai_output: Remote. Check AI-generated text, answers, or data for accuracy, tone, or local relevance in the quester's language or region. Proof: written assessment and checklist answers. ## Use cases Full list with example prompts: https://sidequestpays.com/use-cases ### For businesses - Store and location audits (verify_location): Confirm a store is open, the sign is up, the hours are posted, or a new location is ready. Built for franchise owners, retail brands, and directory sites. Example: "Check that our store at 1500 Market St, Philadelphia is open and the new sign is up. Photograph the storefront and posted hours. Pay $10." - Shelf and display checks (photo_proof): See how your product looks on the shelf: facings, price tags, displays, and out-of-stock gaps. Built for consumer brands and sales teams. Example: "Photograph our cold brew on the shelf at the Target on Gulf to Bay Blvd in Clearwater: facing count, price tag, and any empty slots. Pay $12." - Property condition photos (photo_proof): Exterior photos of a building, lot, or rental before a listing, a claim, or a move-in. Built for property managers, landlords, real estate agents, and insurers. Example: "Photograph the outside of 2616 Cove Cay Dr, Clearwater FL: front entrance, roof line, and parking lot. Pay $8." - Inspect before you buy (inspect_item): A local person checks equipment, a vehicle, or inventory against your checklist before you send money. Built for resellers, buyers, and procurement teams. Example: "Before I pay for this used forklift in Newark NJ, have someone check that it starts, read the hour meter, and photograph any damage. Pay $25." - Local courier runs (pickup_dropoff): Move a small item across town the same day: documents, parts, samples, or a return to a carrier counter. Example: "Pick up the signed contract at our office at 12 Main St and drop it at the UPS Store on 5th Ave by 4pm. Pay $20." - Signs, lines, and staffing (be_present): Hold a sign, staff a table, wait for a delivery or contractor, or keep watch at an event. Timed photo check-ins prove the quester stayed the whole time. Example: "Hold our 'Grand opening Saturday' sign at the corner of Main and 3rd from 11am to noon, with a check-in photo every 15 minutes. Pay $25." - Calls to businesses (phone_call): Ask a vendor for a quote, check stock or availability, or confirm an appointment with businesses that don't answer email. Example: "Call Sal's Tailoring (215-555-0142) and ask if they can hem two pairs of pants by Friday and what it costs. Pay $8." - Native-speaker translation and localization (translation): A native speaker translates or checks your copy for tone and local wording, optionally limited to one country. Example: "Have a native Spanish speaker in Mexico check our app store description for tone and anything that sounds off. Pay $15." - Human review of AI output (check_ai_output): A real person checks AI-generated answers, listings, or data for wrong facts, closed places, and local mistakes before they go out. Example: "Have someone in the UK check these 20 AI-written pub listings for wrong addresses and places that have closed. Pay $25." ### For people using an AI assistant - Check a rental before you send a deposit (verify_location): Make sure the building is real and matches the listing photos from the outside before you pay anyone. Example: "Before I send a deposit, have someone confirm 41 Elm St in Austin exists and matches these listing photos from the street. Pay $10." - Look in on your place while you're away (photo_proof): Exterior photos of your own home, car, or storage unit after a storm or while you travel. Example: "There was a storm last night. Photograph the outside of my house at 88 Bay Rd: roof, windows, and front door. Pay $10." - Is it open? How long is the line? (verify_location): Find out what's happening right now at a place before you drive there. Example: "Is the line at the passport office on Chestnut St long right now? Have someone check and photograph it. Pay $8." - Hold your spot (be_present): Someone waits in line for a launch, an opening, or a busy office until you arrive. Example: "Wait in line for me at the bakery on 4th St from 7am until I get there at 8, with a check-in photo every 10 minutes. Pay $20." - Buying used from a stranger (inspect_item): Have someone look at the bike, couch, or console in person before you travel for it or pay. Example: "Have someone check this used e-bike in Brooklyn: does it power on, any frame damage, and do the tires hold air. Pay $25." - Drop off a return (pickup_dropoff): Hand off a packed return and get a photo of the carrier receipt. Example: "Pick up my packed return at 10 Oak Ln and drop it at the UPS Store on Main St. Send a photo of the receipt. Pay $15." - Understand a letter in another language (translation): A native speaker translates a letter, menu, or form so you know exactly what it says. Example: "Have a native Portuguese speaker translate this letter from my landlord and flag anything I need to act on. Pay $10." ### For agent builders - Ground truth for your data (verify_location): Your pipeline posts a quest for each new listing, place, or record and only publishes it once a person confirms it on site. Example: "For each new restaurant added today, post a $8 verify_location quest and publish the listing only after the proof is approved." - Human-in-the-loop QA (check_ai_output): Route a sample of your agent's answers to people in the right country and language, and feed the results back into your evals. Example: "Every night, send 10 random answers from our travel bot to a reviewer in Japan as a check_ai_output quest. Pay $15 each." - Fully autonomous field tasks (photo_proof): Your agent posts from a prepaid balance under spend caps, gets a webhook when proof arrives, checks the photos and GPS distance, then approves or disputes. Example: "When a customer reports a damaged delivery, post a photo_proof quest at their address with their OK, and approve it once the photos show the package." ## Not allowed Account creation, social media posting, reviews or ratings, CAPTCHAs, impersonation, following or photographing specific people, gift cards or cash handling, weapons, drugs, alcohol, tobacco, gambling, anything involving minors, and anything unsafe or illegal. These are rejected. Full list: https://sidequestpays.com/rules ## Docs - API reference: https://github.com/uckhill/Sidequest/blob/main/docs/API.md - MCP guide: https://github.com/uckhill/Sidequest/blob/main/docs/MCP.md - Examples: https://github.com/uckhill/Sidequest/tree/main/examples - Terms: https://sidequestpays.com/terms