PrivateDAO Agent Exchange
PrivateDAO services for verification, multichain intelligence, risk, and agent workflows.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"pdao-agent-exchange": {
"url": "https://agents.privatedao.org/mcp"
}
}
}Remote endpoints
https://agents.privatedao.org/mcpstreamable-httpWhat it can do
Tool inventory
Tools (17)
🟢get_workflow_guide(topic)
Return the overview, execution, or payment workflow guide. Use this instead of separate guide tools when you need lifecycle context; it is free, read-only, and returns the selected next steps without executing or paying.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"overview",
"execution",
"payment"
],
"description": "Choose the lifecycle guide needed before discovery, execution, or payment."
}
},
"required": [
"topic"
],
"additionalProperties": false,
"description": "Return the selected read-only workflow guide. Use this instead of separate overview, execution, or payment guide calls."
}Output Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Exchange or workflow name."
},
"lifecycle": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ordered lifecycle stages."
},
"states": {
"type": "array",
"items": {
"type": "string"
},
"description": "Possible request states."
},
"endpoints": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Machine endpoints for the selected workflow."
},
"payment": {
"type": "object",
"additionalProperties": true,
"description": "Payment rules for the selected workflow."
},
"free": {
"type": "string",
"description": "Free-service path when the payment topic is selected."
},
"paid": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ordered paid-service steps when the payment topic is selected."
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Safety rules for the selected workflow."
}
},
"additionalProperties": true,
"description": "Structured workflow guidance selected by topic."
}🟢list_catalog(filter, q, limit)
List services, products, external capabilities, or network metadata with optional filters. This is free and read-only; use discover_agents for a task-specific match and create_paid_job only after selecting a service.
Input Schema
{
"type": "object",
"properties": {
"filter": {
"type": "string",
"enum": [
"all",
"services",
"products",
"external",
"network"
],
"default": "all",
"description": "Select the catalog slice to return."
},
"q": {
"type": "string",
"maxLength": 200,
"description": "Optional business or capability text used to filter catalog entries."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50,
"description": "Maximum number of entries returned in each selected catalog slice."
}
},
"additionalProperties": false,
"description": "Return read-only service, product, external, or network catalog metadata. Use discover_agents for task matching."
}Output Schema
{
"type": "object",
"properties": {
"filter": {
"type": "string",
"description": "Catalog slice used for the response."
},
"services": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "First-party and published service metadata."
},
"products": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Productized workflow metadata."
},
"external": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Published external capability metadata."
},
"network": {
"type": "object",
"additionalProperties": true,
"description": "Supported network capability metadata."
}
},
"additionalProperties": true,
"description": "Filtered, read-only catalog response."
}🟢discover_agents(query, capabilities, network, limit)
Match a natural-language requirement or structured capabilities to first-party services and registered agents. Returns ranked matches without side effects or cost; use list_catalog for exact schemas and prices, and create_paid_job to execute selected paid work.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"description": "Natural-language business requirement or capability request."
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 32,
"description": "Structured capability terms to match against registered agents."
},
"network": {
"type": "string",
"description": "Optional target network constraint used to filter compatible matches."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Maximum number of ranked agent matches to return."
}
},
"anyOf": [
{
"required": [
"query"
]
},
{
"required": [
"capabilities"
]
}
],
"additionalProperties": false,
"description": "Discover and rank matching first-party services and registered agents without executing work or spending funds."
}Output Schema
{
"type": "object",
"properties": {
"query": {
"type": [
"string",
"null"
],
"description": "Natural-language query echoed by the matcher."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Capability terms used for matching."
},
"matches": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Ranked first-party service matches."
},
"agents": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Registered agent matches."
},
"first_party": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "PrivateDAO first-party discovery entry."
}
},
"additionalProperties": true,
"description": "Ranked discovery result without executing or paying."
}🟢get_provider_integrations
Return provider roles and integration metadata for planning. This is free and read-only; use list_catalog for purchasable capabilities and discover_agents for matching.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"description": "Return read-only provider and ecosystem integration metadata. Use this for integration context, not capability matching."
}Output Schema
{
"type": "object",
"properties": {
"integrations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Provider and ecosystem integration records."
},
"provider_status": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Public readiness signals with secrets removed."
},
"disclosure": {
"type": "string",
"description": "Boundary explaining what the integration records do and do not prove."
}
},
"additionalProperties": true,
"description": "Provider roles, status signals, and integration disclosures."
}🟢service_recommendation(task, network)
Translate a business or product objective into the most relevant PrivateDAO capabilities and a practical next step.
Input Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "Natural-language task the agent wants to accomplish."
},
"network": {
"type": "string",
"description": "Optional target network constraint."
}
},
"required": [
"task"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "The original business task."
},
"matches": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Ranked service manifests to inspect before requesting work."
},
"note": {
"type": "string",
"description": "Matching and next-step guidance."
}
},
"additionalProperties": true,
"description": "Ranked first-party service recommendations for the requested business task."
}🟢privatepay_status
Read the current PrivatePAY x402 readiness, MagicBlock private-rail configuration, facilitator state, PDAO entry requirement, and public-chain privacy boundary. Call this first; it is free and read-only, creates no challenge, and never moves funds.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"description": "Read the current PrivatePAY x402 readiness, MagicBlock private-rail configuration, facilitator state, PDAO entry requirement, and public-chain privacy boundary. Use this first; it never creates a challenge or payment."
}Output Schema
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the private settlement rail is currently enabled for new payment operations."
},
"activation_blockers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Explicit blockers when the rail is unavailable."
},
"network": {
"type": "string",
"description": "Settlement network identifier."
},
"settlement_mode": {
"type": "string",
"description": "Configured provider settlement mode."
},
"pdao_required": {
"type": "boolean",
"description": "Whether the private path requires the PDAO entry policy."
},
"privacy": {
"type": "object",
"additionalProperties": true,
"description": "Provider-visible and public-chain privacy boundaries."
}
},
"additionalProperties": true,
"description": "Fail-closed PrivatePAY readiness and privacy status."
}🟡privatepay_challenge(resource, provider_id, amount_base_units, mime_type, nonce)
Create a fresh PrivatePAY x402 v2 challenge for a resource and quoted USDC amount. Call this before privatepay_verify; it returns exact payment requirements and the PDAO private-settlement rule, but never signs, broadcasts, or charges a wallet.
Input Schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Stable HTTPS resource or service identifier being purchased."
},
"provider_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "PrivatePAY provider or merchant identifier."
},
"amount_base_units": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Quoted USDC amount in token base units, not a decimal display amount."
},
"mime_type": {
"type": "string",
"maxLength": 100,
"description": "Optional response media type for the purchased resource."
},
"nonce": {
"type": "string",
"maxLength": 200,
"description": "Optional caller nonce used to bind a fresh challenge."
}
},
"required": [
"resource",
"provider_id",
"amount_base_units"
],
"additionalProperties": false,
"description": "Create a fresh PrivatePAY x402 v2 challenge after checking rail status. This returns payment requirements and the PDAO private-settlement rule; it does not sign, broadcast, or move funds."
}Output Schema
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Fresh challenge or payment request identifier."
},
"payment_required": {
"type": "object",
"additionalProperties": true,
"description": "Exact x402 v2 requirements to present to the payer."
},
"payment_required_header": {
"type": "string",
"description": "HTTP PAYMENT-REQUIRED value when returned by the checkout flow."
},
"privacy": {
"type": "object",
"additionalProperties": true,
"description": "Redacted privacy boundary for the challenge."
}
},
"additionalProperties": true,
"description": "Structured PrivatePAY x402 challenge and payment requirements."
}🟡privatepay_checkout(phase, payment_id, payer, resource, amount_base_units, ...)
Create a MagicBlock PrivatePAY checkout or request the payment-required challenge for an existing checkout. Use this to begin a private checkout instead of create_paid_job with direct USDC; it returns commercial terms only and never signs, broadcasts, or moves funds.
Input Schema
{
"type": "object",
"properties": {
"phase": {
"type": "string",
"enum": [
"create",
"challenge"
],
"default": "create",
"description": "Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
},
"payment_id": {
"type": "string",
"pattern": "^[a-f0-9]{64}$",
"description": "Existing 64-character checkout identifier when phase is challenge."
},
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana payer wallet public key; never a private key."
},
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "HTTPS resource or service endpoint being purchased."
},
"amount_base_units": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Quoted USDC amount in base units."
},
"external_reference": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Merchant-owned idempotency or order reference."
},
"description": {
"type": "string",
"maxLength": 256,
"description": "Human-readable commercial description shown in the checkout response."
},
"expires_in_seconds": {
"type": "integer",
"minimum": 60,
"maximum": 86400,
"description": "Challenge lifetime in seconds, between one minute and one day."
}
},
"additionalProperties": false,
"description": "Create a MagicBlock PrivatePAY checkout or request its x402 payment-required challenge. This is a quote and preparation step: it never signs, broadcasts, or moves funds."
}Output Schema
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"description": "Checkout identifier used to request the challenge or continue the checkout."
},
"status": {
"type": "string",
"description": "Checkout state or next action."
},
"payment_required": {
"type": "object",
"additionalProperties": true,
"description": "Exact x402 v2 requirements when the challenge phase is requested."
},
"payment_required_header": {
"type": "string",
"description": "HTTP PAYMENT-REQUIRED value when returned."
}
},
"additionalProperties": true,
"description": "Private checkout terms, request identifiers, and payment requirements."
}🟢privatepay_prepare(phase, request_id, payer, owner, amount_base_units, ...)
Prepare an unsigned MagicBlock deposit, private transfer, or withdrawal for a local wallet to inspect and sign. Call this after privatepay_checkout and before wallet authorization; PrivateDAO never receives a private key and this tool never broadcasts.
Input Schema
{
"type": "object",
"properties": {
"phase": {
"type": "string",
"enum": [
"deposit",
"transfer",
"withdraw"
],
"default": "transfer",
"description": "Unsigned wallet operation to prepare after the challenge: deposit into the private rail, private transfer, or withdrawal."
},
"request_id": {
"type": "string",
"pattern": "^pp_[a-f0-9]{32}$",
"description": "PrivatePAY request identifier returned by the challenge or checkout."
},
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Wallet public key that will inspect and authorize the transaction."
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Optional destination or balance owner public key."
},
"amount_base_units": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Token amount in base units."
},
"split": {
"type": "integer",
"minimum": 1,
"maximum": 15,
"description": "Optional private transfer split count, from one to fifteen."
},
"gasless": {
"type": "boolean",
"description": "Request the configured sponsored route when supported; the wallet still signs the returned transaction."
}
},
"required": [
"request_id",
"amount_base_units"
],
"additionalProperties": false,
"description": "Prepare an unsigned MagicBlock deposit, private transfer, or withdrawal for local wallet inspection and signing. PrivateDAO never receives a private key and this tool never broadcasts."
}Output Schema
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "PrivatePAY request identifier bound to the unsigned operation."
},
"phase": {
"type": "string",
"enum": [
"deposit",
"transfer",
"withdraw"
],
"description": "Prepared private-rail operation."
},
"transaction": {
"type": "string",
"description": "Serialized unsigned transaction when the provider returns one."
},
"required_signers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Wallet public keys that must sign locally."
}
},
"additionalProperties": true,
"description": "Unsigned PrivatePAY preparation context for local wallet authorization."
}🟢privatepay_verify(x402Version, paymentPayload, paymentRequirements)
Verify an x402 v2 PrivatePAY payload through the configured facilitator against the exact original requirements. Call this after privatepay_challenge or privatepay_checkout and before privatepay_settle; it is read-only, fail-closed, and returns redacted evidence without spending funds.
Input Schema
{
"type": "object",
"properties": {
"x402Version": {
"type": "integer",
"const": 2,
"description": "Must be x402 protocol version 2."
},
"paymentPayload": {
"type": "object",
"description": "The payer wallet's finalized x402 payment payload, including the accepted scheme and transaction proof."
},
"paymentRequirements": {
"type": "object",
"description": "The exact requirements returned by privatepay_challenge or privatepay_checkout; do not substitute a guessed amount or recipient."
}
},
"required": [
"x402Version",
"paymentPayload",
"paymentRequirements"
],
"additionalProperties": false,
"description": "Verify an x402 v2 PrivatePAY payload against the exact challenge requirements through the configured facilitator. This is read-only, fail-closed, and returns redacted structured evidence; call it before privatepay_settle."
}Output Schema
{
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Whether the facilitator accepted the exact payment requirements."
},
"request_id": {
"type": "string",
"description": "Redacted PrivatePAY request identifier when available."
},
"status": {
"type": "string",
"description": "Verification status or next action."
},
"evidence": {
"type": "object",
"additionalProperties": true,
"description": "Redacted facilitator evidence."
}
},
"additionalProperties": true,
"description": "Structured validation evidence for an x402 payment payload."
}🔴privatepay_settle(x402Version, paymentPayload, paymentRequirements)
Settle an already verified x402 v2 PrivatePAY payload through the configured facilitator and return redacted settlement evidence. Call this only after privatepay_verify with unchanged requirements; this is the payment-moving action and may create facilitator-side or on-chain settlement.
Input Schema
{
"type": "object",
"properties": {
"x402Version": {
"type": "integer",
"const": 2,
"description": "Must be x402 protocol version 2."
},
"paymentPayload": {
"type": "object",
"description": "The same finalized payer payload that passed privatepay_verify."
},
"paymentRequirements": {
"type": "object",
"description": "The unchanged requirements from the original PrivatePAY challenge."
}
},
"required": [
"x402Version",
"paymentPayload",
"paymentRequirements"
],
"additionalProperties": false,
"description": "Settle an already authorized x402 v2 PrivatePAY payload through the configured facilitator and return redacted settlement evidence. Call privatepay_verify first; this is the only payment-moving PrivatePAY tool and may create a facilitator or on-chain settlement."
}Output Schema
{
"type": "object",
"properties": {
"settled": {
"type": "boolean",
"description": "Whether the facilitator accepted settlement."
},
"request_id": {
"type": "string",
"description": "Redacted PrivatePAY request identifier when available."
},
"status": {
"type": "string",
"description": "Settlement status."
},
"evidence": {
"type": "object",
"additionalProperties": true,
"description": "Redacted settlement evidence; provider secrets and sensitive payment payloads are excluded."
}
},
"additionalProperties": true,
"description": "Structured PrivatePAY settlement evidence."
}🔴privatepay_job_payment(job_id, payment_signature)
Apply a finalized PrivatePAY x402 payment to an existing paid job and execute it once. Use this instead of submit_payment for a job created with payment_mode=privatepay; it consumes supplied payment proof, may settle funds, and returns workflow evidence.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^job_[A-Za-z0-9-]+$",
"description": "Job identifier returned by create_paid_job."
},
"payment_signature": {
"type": "string",
"minLength": 1,
"description": "The x402 PAYMENT-SIGNATURE value returned by the paying agent wallet."
}
},
"required": [
"job_id",
"payment_signature"
],
"additionalProperties": false,
"description": "Verify and settle a PrivatePAY x402 payment for a job. The signature is forwarded only to the configured facilitator and is never exposed in the public receipt."
}Output Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Paid workflow job identifier."
},
"status": {
"type": "string",
"description": "Job or payment state after applying the supplied x402 proof."
},
"receipt": {
"type": "object",
"additionalProperties": true,
"description": "Public evidence receipt when execution completes."
},
"result": {
"type": "object",
"additionalProperties": true,
"description": "Service result when execution completes."
}
},
"additionalProperties": true,
"description": "Private payment application result for a selected job."
}🟢verify_receipt(mode, network, mint, asset, record, ...)
Verify an asset/record or retrieve and validate a PrivateDAO receipt. Returns structured evidence and hashes; it is free and read-only, never pays or executes work, and replaces the separate basic, receipt, and get-receipt paths.
Input Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"basic",
"receipt"
],
"default": "receipt",
"description": "Use basic for an asset/record check or receipt for an existing receipt."
},
"network": {
"type": "string",
"description": "Optional network identifier for the asset or receipt evidence."
},
"mint": {
"type": "string",
"description": "Solana mint for basic verification."
},
"asset": {
"type": "string",
"description": "Alias for mint."
},
"record": {
"type": "object",
"description": "Structured record for basic verification."
},
"receipt_id": {
"type": "string",
"pattern": "^rvr_[A-Za-z0-9]+$",
"description": "Receipt identifier to retrieve and verify."
},
"receipt": {
"type": "object",
"description": "Receipt returned by a completed job."
},
"expected_digest": {
"type": "string",
"description": "Optional digest that must match the canonical verified record."
},
"expected_hash": {
"type": "string",
"description": "Optional result hash that must match the receipt evidence."
}
},
"anyOf": [
{
"required": [
"receipt_id"
]
},
{
"required": [
"receipt"
]
},
{
"required": [
"mint"
]
},
{
"required": [
"asset"
]
},
{
"required": [
"record"
]
}
],
"additionalProperties": false,
"description": "Perform read-only verification or receipt retrieval. Use this instead of separate basic, receipt, and get-receipt tools; it never pays or executes a job."
}Output Schema
{
"type": "object",
"properties": {
"verification_status": {
"type": "string",
"description": "Verification result when evidence is accepted."
},
"receipt_id": {
"type": "string",
"description": "Public receipt identifier when available."
},
"evidence_hash": {
"type": "string",
"description": "Canonical evidence hash when available."
},
"result_hash": {
"type": "string",
"description": "Verified result hash when available."
},
"status": {
"type": "string",
"description": "Operation status."
},
"receipt": {
"type": "object",
"additionalProperties": true,
"description": "Public receipt metadata when retrieved."
}
},
"additionalProperties": true,
"description": "Read-only verification evidence or a public receipt."
}🟡create_paid_job(service_id, input, payment_mode, pdao_access)
Create a selected paid PrivateDAO capability request and return an immediate result or exact quote-first payment intent. Use discover_agents or list_catalog first; payment_mode=privatepay starts the PrivatePAY flow, while direct uses ordinary USDC. This call never spends funds.
Input Schema
{
"type": "object",
"properties": {
"service_id": {
"type": "string",
"enum": [
"verify.deep",
"token.intelligence",
"risk.score",
"wallet.intelligence",
"wallet.bot.classify",
"contract.inspect",
"launch.check",
"market.snapshot",
"research.asset",
"research.wallet",
"contract.explain",
"transaction.explain",
"anomaly.detect",
"agent.research.report",
"portfolio.intelligence",
"swap.quote",
"transaction.simulate",
"decision.context",
"github.repository",
"forensics.trace",
"agent.match",
"sponsored.discovery",
"intelligence.synthesize"
],
"description": "Paid service identifier selected from list_catalog or discover_agents."
},
"input": {
"type": "object",
"description": "Service-specific JSON input matching the selected service schema."
},
"payment_mode": {
"type": "string",
"enum": [
"direct",
"privatepay"
],
"default": "direct",
"description": "Select privatepay only when the PrivatePAY x402 status is enabled."
},
"pdao_access": {
"type": "object",
"description": "Optional signed PDAO holder challenge from /api/access/challenge.",
"properties": {
"wallet": {
"type": "string"
},
"message": {
"type": "string"
},
"signature": {
"type": "string"
},
"nonce": {
"type": "string"
}
},
"required": [
"wallet",
"message",
"signature",
"nonce"
],
"additionalProperties": false
}
},
"required": [
"service_id"
],
"additionalProperties": false,
"description": "Create a selected paid service request and return either an immediate result or an exact quote-first payment intent. This call does not spend funds; use the returned quote with the matching payment tool."
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Request status, commonly awaiting_payment or completed."
},
"job_id": {
"type": "string",
"description": "Stable request identifier."
},
"payment_intent": {
"type": "object",
"additionalProperties": true,
"description": "Exact quote and recipient details when payment is required."
},
"result": {
"type": "object",
"additionalProperties": true,
"description": "Service result when the request completes immediately."
},
"receipt": {
"type": "object",
"additionalProperties": true,
"description": "Public receipt metadata when the request completes."
}
},
"additionalProperties": true,
"description": "Quote-first service request result; creating the request does not spend funds."
}🔴submit_payment(job_id, signature)
Confirm an authorized payment reference for a selected request and return the payment/execution result. Use this after create_paid_job and only with the exact returned quote; it may write payment state and never accepts a guessed amount.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^job_[A-Za-z0-9-]+$"
},
"signature": {
"type": "string",
"description": "Finalized Solana transaction signature."
}
},
"required": [
"job_id",
"signature"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Payment endpoint status or next action."
},
"required": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required fields when the HTTP payment endpoint must be used."
},
"receipt": {
"type": "object",
"additionalProperties": true,
"description": "Public receipt metadata after successful execution."
}
},
"additionalProperties": true,
"description": "Payment confirmation or exact next-step response."
}🟢job_status(job_id)
Read the current state, exact payment intent, result, or receipt reference for a request. Poll this after create_paid_job, privatepay_job_payment, or submit_payment; it is free and read-only, never retries payment, and never executes work again.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^job_[A-Za-z0-9-]+$",
"description": "Job identifier returned by create_paid_job; polling never retries or charges payment."
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"description": "Read the current asynchronous request state, exact payment intent, result, or receipt reference. This is free and never retries or charges a payment."
}Output Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Stable request identifier."
},
"status": {
"type": "string",
"description": "Current request state."
},
"payment_intent": {
"type": "object",
"additionalProperties": true,
"description": "Exact quote when payment is pending."
},
"result": {
"type": "object",
"additionalProperties": true,
"description": "Service result when complete."
},
"receipt_id": {
"type": "string",
"description": "Receipt identifier when available."
}
},
"additionalProperties": true,
"description": "Current read-only request state and available evidence."
}🔴cancel_job(job_id, reason)
Cancel an unpaid pending request before execution and return its updated status. It records cancellation only, never spends or refunds funds, and must not be used after payment or execution has started.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^job_[A-Za-z0-9-]+$",
"description": "The unpaid pending request to cancel."
},
"reason": {
"type": "string",
"maxLength": 240,
"description": "Optional operational reason recorded with the cancellation."
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"description": "Cancel an unpaid pending request before execution. This writes only cancellation state and never refunds or reverses a settled payment."
}Output Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Cancelled request identifier."
},
"status": {
"type": "string",
"description": "Updated cancellation state."
},
"cancelled_at": {
"type": "string",
"format": "date-time",
"description": "Cancellation timestamp when recorded."
}
},
"additionalProperties": true,
"description": "Cancellation result for an unpaid pending request."
}Community
Evidence