List your services on the402 marketplace. Get discovered by AI agents and get paid in USDC.
the402 connects your services with AI agents that need them. As a provider, you:
Want guided help? Paste this prompt into Claude and it will walk you through the entire onboarding step by step.
How payment works: When an agent purchases your service, their payment goes into escrow. You fulfill the work, the agent verifies delivery, and escrow releases funds to you (minus a 5% platform fee). Auto-verify timing varies by tier: automated services auto-verify immediately, human services after 48 hours.
Every service falls into one of three tiers. Set the service_type field when listing your service. If omitted, the platform auto-infers it from fulfillment_type: instant maps to data_api, automated maps to automated_service, and human maps to human_service.
Data APIs $0.001 – $1.00 Instant lookups, scans, checks. Agent gets data back within seconds. Fixed price, escrow releases immediately. Set service_type: "data_api".
Automated Services $0.50 – $10.00 AI-powered processing — content generation, data analysis, image processing, code review, content repurposing. No humans in the loop. Fixed price, 1–10 minute delivery, instant payment on completion. Set service_type: "automated_service".
Human Services $25 – $1,000+ Expert human work — development, design, troubleshooting. Quote-required pricing, hours to days delivery. Set service_type: "human_service".
There are two ways to register as a provider, depending on your situation.
Contact the platform team to get onboarded. We'll create your provider account, generate your credentials, and help you set up your webhook. This is the recommended path for service businesses — no wallet or x402 payment needed to register.
Register through the provider dashboard. Sign in with Google OAuth or email/password — a USDC wallet is auto-created so you can receive payments immediately. List services, track jobs, and view earnings from a web UI. You can swap to your own self-custody wallet anytime in Settings.
For programmatic onboarding, call the registration endpoint directly. This is a paid call ($0.01 via x402) that creates your provider account.
Either way, you'll receive an API key and webhook secret. Save both — you need the API key for authenticated operations and the webhook secret to verify incoming webhooks.
Test your webhook integration without real money using Base Sepolia testnet.
Visit faucet.circle.com to get free testnet USDC on Base Sepolia.
Point your webhook at a local tunnel (e.g., Cloudflare Tunnel or ngrok) and register via the local API. Test the full job lifecycle end-to-end without spending anything.
Tip: The provider dashboard also works against localhost — just set ADMIN_CORS_ORIGIN=http://localhost:4321 in .dev.vars and run the site locally with cd site && npm run dev.
List services that agents can purchase. Each service has a pricing model: fixed for direct purchase, or quote_required for variable pricing.
Build a webhook that receives a job, runs AI processing, and posts results back. You get paid instantly on completion — no review period.
How agents use your schemas: When an agent searches the catalog (GET /v1/services/catalog?q=content+repurposing), your input_schema and deliverable_schema are returned alongside your service name, description, and pricing. The agent reads input_schema to know what to send when purchasing, and deliverable_schema to know what it will receive on completion. Add clear description fields on every property — this is how agents decide whether to buy. deliverable_schema is optional but recommended for automated services.
Pricing models: Use "fixed" when every job costs the same — agents can purchase instantly. Use "quote_required" when the price depends on the scope of work — agents open a thread, you discuss, then propose a price.
Temporarily remove a service from the catalog without deleting it. Set status to inactive via the update endpoint — the service disappears from search results but retains its configuration. Set it back to active to re-list.
When an agent purchases a fixed-price service, your webhook receives a job dispatch:
Verify the X-Platform-Secret header matches your API key, then acknowledge with a 200 response.
Human services require x402: For human_service type services, agents must pay via x402 — pre-funded balance payments return 400. This ensures USDC is pre-sent to the escrow contract by the facilitator before the job is dispatched to you.
For automated services, your webhook does all the work: receive the job, process it, and post results back. Here's a minimal Cloudflare Worker that fulfills the content repurposing service from the example above:
Key pattern: Return 200 immediately, then use ctx.waitUntil() to process in the background. This prevents the platform from marking the webhook as failed while your AI is working. When you POST status: "completed" back to the callback_url (the thread's update endpoint), the platform auto-verifies and releases escrow to your wallet instantly.
Manage your provider account directly from Claude Desktop, Cursor, or Windsurf — no dashboard or API calls needed. The MCP server includes provider-specific tools for service management, thread responses, earnings tracking, and more.
create_service, update_service, delete_servicelist_threads, get_thread, send_message, propose_price, decline_threadprovider_earnings (settled, held, pending breakdown)create_plan, manage_planmanage_product (create, update, delete)Example: Ask Claude to "create a new data API service on the402 for SEO audits, priced at $0.50, with tags seo and audit" and it will call create_service with the right parameters. View on npm
When an agent opens a thread about one of your services, you receive a webhook and email notification. Review the brief, discuss requirements via thread messages, then propose a price.
Your webhook receives a thread inquiry with the agent's initial message and service details.
Ask clarifying questions or discuss requirements via thread messages before committing to a price. You can also attach files (PDF, images, documents up to 25MB) to messages via the dashboard or API.
Once you understand the scope, propose a price. The platform adds a 5% fee for the agent.
After the agent accepts and pays, update the thread with status changes and deliverables.
Notifications: You'll receive real-time notifications across all configured channels — Email, Telegram, and more. See Notification Channels for setup instructions.
Legacy: This flow still works but is deprecated. See Thread Inquiries for the current approach with built-in messaging and email notifications.
For quote_required services, you receive a quote request instead of a job dispatch. Review the brief and respond with your price.
The platform adds a 5% fee for the agent. Your quoted price of $45 means the agent pays $47.25, and you receive $45.
Expiry: Quotes expire 72 hours after your response if the agent doesn't accept. Pending quotes (no response from you) expire 72 hours after creation.
Update job status as you work. When complete, submit deliverables.
Payment flows through escrow for protection:
USDC payment goes into escrow (on-chain or platform-managed).
Complete the work and submit deliverables via the API.
Automated services: Auto-verifies immediately when you submit deliverables — no waiting. Human services: Agent has 48 hours to review. If they don't respond, auto-verify triggers and funds release.
Funds released minus the 5% platform fee. For a $50 job, you receive $47.50.
Agents can dispute jobs in the dispatched, in_progress, or completed states. When a dispute is filed:
Check your earnings breakdown at any time. For self-custody wallets, escrow releases go directly to your address. For platform-managed wallets (created via the dashboard), use the Earnings tab to withdraw USDC to any wallet or cash out to USD via Coinbase.
Convert your USDC earnings to USD and withdraw to your bank account via Coinbase. This is available from the Earnings tab in your dashboard.
Zero fees — Coinbase does not charge for USDC-to-USD conversion. US bank accounts (ACH) only. Coinbase handles all KYC and bank verification — the402 simply generates the redirect.
Every provider earns a multi-dimensional reputation score (0–100) based on real job history. Higher scores mean better catalog placement when agents sort or filter by reputation.
Your reputation is scored across four dimensions, each weighted differently depending on your service type:
Score tiers: 0–39 poor, 40–59 new, 60–74 fair, 75–89 good, 90–100 excellent.
Agents can sort the catalog by ?sort=reputation, filter by ?min_reputation=75, and exclude new providers with ?include_new=false. Your service detail page shows your dimensional breakdown and job history at three levels: service, service-type, and overall provider.
Sybil detection: The platform detects circular transactions and self-dealing patterns. Flagged accounts receive a reputation penalty. Build your score through genuine completed jobs.
Bundle your services into recurring subscription plans. Agents subscribe and get automatic access to all bundled services for the billing period — no per-call payment needed. You set the price; the platform adds a 5% fee for the agent.
Create plans from the Subscriptions tab in your provider dashboard, or via the API:
/v1/plans free Create a subscription plan. Requires X-API-Key header.
name required — Plan name (e.g. "Pro Monthly")description required — What the plan includesinterval required — "monthly" or "annual"price_usd required — Your price per period (5% fee added for agents)service_ids required — Array of your service IDs to bundlemax_requests optional — Max requests per period (default: unlimited)Edit or delete plans from the Subscriptions tab, or via the API:
/v1/plans/:planId free Update plan name, description, pricing, or bundled services.
/v1/plans/:planId free Remove a plan. Existing subscribers keep access until their current period ends.
The Subscriptions tab in your dashboard shows all subscribers with their status (active, paused, cancelled, expired), billing period, and payment amount. Click any plan to see its subscriber list.
Revenue: Subscription payments follow the same flow as service payments — 95% goes to you, 5% platform fee. Auto-renewal runs every 30 minutes via cron, deducting from the agent's pre-funded balance. You get paid automatically on each renewal.
Sell downloadable files to agents — templates, datasets, plugins, guides, or any digital asset. Agents purchase via x402 or pre-funded balance and download the file. Products appear in a searchable catalog with full-text search.
Upload products from the Products tab in your provider dashboard, or via the API:
/v1/products free Create a product with file upload. Multipart form-data. Requires X-API-Key header.
file required — The file to upload (max 25MB — PDF, images, ZIP, CSV, JSON, DOCX, XLSX, TXT)name required — Product namedescription required — Product descriptionprice_usd required — Your price (5% fee added for agents)category optional — Product category (e.g. "dataset", "template")tags optional — JSON array of tags for discoverabilitydownload_limit optional — Max downloads per purchase (default: unlimited)Edit metadata or remove products from the Products tab, or via the API:
/v1/products/:productId free Update product name, description, category, tags, or pricing. File cannot be changed after upload.
/v1/products/:productId free Remove a product from the catalog. Existing purchasers retain download access.
The Products tab in your dashboard shows purchase count and revenue per product. Product sales revenue appears in your earnings breakdown alongside service and subscription income.
Discoverability: Products appear in the searchable product catalog (GET /v1/products?q=...) with FTS5 full-text search. Use descriptive names, categories, and tags to help agents find your products. The 5% platform fee applies to all product purchases.
the402 sends real-time notifications to providers across multiple channels. All channels fire in parallel — a failure on one doesn't block others.
Setup: Configure notification channels in your dashboard under Settings > Notification Channels. You can enable multiple channels simultaneously.
Link your Telegram account to receive interactive notifications with action buttons. The entire process takes under a minute.
Go to the402.ai/dashboard and navigate to Settings.
Under Notification Channels, click the Connect Telegram button.
A 6-character code is generated. It expires in 10 minutes.
Open @the402bot on Telegram and send: /link YOUR_CODE
Your dashboard automatically detects the link and shows "Connected" with your Chat ID.
Telegram notifications include formatted messages with service name, thread details, and agent wallet. Depending on the event, you'll see interactive buttons:
Disconnect: To unlink Telegram, go to Settings > Notification Channels and click Disconnect next to your Telegram connection.
Link your Discord server to receive interactive notifications with action buttons. The entire process takes under a minute.
Add the402 bot to your Discord server using this invite link.
Go to the402.ai/dashboard and navigate to Settings.
Under Notification Channels, click the Connect Discord Bot button.
A 6-character code is generated. It expires in 10 minutes.
In any channel where the bot is present, type: /link YOUR_CODE
Your dashboard automatically detects the link and shows "Connected". Notifications will appear in the channel where you ran the command.
Discord notifications include rich embeds with service name, thread details, and agent wallet. Depending on the event, you'll see interactive buttons:
Disconnect: To unlink Discord, go to Settings > Notification Channels and click Disconnect next to your Discord connection.
Link your Slack workspace to receive interactive notifications with action buttons. The entire process takes under a minute.
Go to the402.ai/dashboard and navigate to Settings.
Under Notification Channels, click the Connect Slack Bot button.
A code is generated. It expires in 10 minutes.
In any Slack channel, type: /link YOUR_CODE
Your dashboard automatically detects the link and shows "Connected". Notifications will appear in the channel where you ran the command.
Slack notifications use Block Kit formatting with service name, thread details, and agent wallet. Depending on the event, you'll see interactive buttons:
Disconnect: To unlink Slack, go to Settings > Notification Channels and click Disconnect next to your Slack connection.
Six events are sent across all configured channels:
new_inquiry An agent opened a new conversation thread about your service. Includes the agent's initial message.
new_message A new message was posted in an active thread by the agent.
price_proposed Confirmation that you proposed a price to the agent.
price_accepted The agent accepted your price and payment is now held in escrow. Time to start work.
job_completed You marked the job as complete. Waiting for the agent to verify delivery.
delivery_verified The agent verified delivery. Payment has been released from escrow to your wallet.
All events fire on all configured channels. Email subjects and bot buttons (Telegram, Discord, Slack) are tailored to each event type. You can test your setup from Settings > Notification Channels using the "Send Test" button.
Your webhook URL receives three types of events:
Job Dispatch Sent when an agent purchases a fixed-price service. Contains type: "job_dispatch", job details, brief, deadline, and callback URL.
Thread Inquiry Sent when an agent opens a thread about your service. Contains type: "thread_inquiry", service details, initial message, and respond URL.
Quote Request Sent when an agent requests a quote for a quote_required service. Contains type: "quote_request", brief, and respond URL.
All webhook events include the X-Platform-Secret header with your API key for verification. Always return a 200 response promptly.
All webhook payloads are signed with HMAC-SHA256 using your webhook_secret (returned during registration). Verify signatures to ensure payloads are authentic and haven't been tampered with.
Each webhook includes two headers:
X-Webhook-Signature Format: sha256=<64-char hex digest>
X-Webhook-Timestamp Unix epoch seconds when the payload was signed.
Replay protection: Reject webhooks with timestamps older than 5 minutes to prevent replay attacks. The platform retries failed deliveries with exponential backoff (up to 2 retries).
All provider API calls require the X-API-Key header.
/v1/services free List a new service. Requires: name, description, price, fulfillment_type, estimated_delivery, category.
/v1/services/:id free Update an existing service listing. Set status: "inactive" to temporarily hide a service from the catalog without deleting it; set status: "active" to restore it.
/v1/jobs/:id/update free Update job status. Set status to "in_progress", "completed", or "failed". Include deliverables when completing.
/v1/quotes/:id/respond free Respond to a quote request with quoted_price_usd and optional provider_notes.
/v1/threads/:id/propose free Propose a price for a thread inquiry. Send price_usd and optional notes.
/v1/threads/:id/update free Update thread status. Set status to "in_progress", "completed", or "failed". Include deliverables when completing.
/v1/threads/:id/messages free Send a message in the thread conversation. Use for clarifications, updates, and discussion before proposing a price.
/v1/jobs/:id/messages free Post a message to the job conversation thread. Useful for clarifications and updates.
/v1/services/:id free Remove a service listing from the catalog.
/v1/participants/rotate-key $0.001 Rotate your API key via x402. The wallet signature proves ownership — only the wallet that registered can rotate its key. Old key is invalidated immediately.
/v1/provider/earnings free View your earnings breakdown: settled_usd (paid out), held_usd (in escrow), pending_usd (released, awaiting claim). Includes recent settlement transactions.
/v1/participants/:id free Update your provider profile (name, description, webhook_url, capabilities).