PrivateDAO Agent Exchange MCP
A machine-to-machine service marketplace for AI agents offering verification, intelligence, risk, and transaction simulation services. Agents can discover capabilities, request quotes, execute read-only evidence work, and verify receipts via USDC settlement on Solana.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://agents.privatedao.org/mcpWhat its tools do
17 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (10)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Verify token safety and contract evidence
- Analyze public intelligence and risk signals
- Simulate transaction intent without execution
- Coordinate capabilities across multiple agents
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- pdao-agent-exchange 1.7.6
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 17 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Tools
17 advertised
get_workflow_guide — PrivateDAO Workflow Guide
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.
{
"type": "object",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"overview",
"execution",
"payment"
],
"type": "string",
"description": "Choose the lifecycle guide needed before discovery, execution, or payment."
}
},
"description": "Return the selected read-only workflow guide. Use this instead of separate overview, execution, or payment guide calls.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"free": {
"type": "string",
"description": "Free-service path when the payment topic is selected."
},
"name": {
"type": "string",
"description": "Exchange or workflow name."
},
"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."
},
"states": {
"type": "array",
"items": {
"type": "string"
},
"description": "Possible request states."
},
"payment": {
"type": "object",
"description": "Payment rules for the selected workflow.",
"additionalProperties": true
},
"endpoints": {
"type": "object",
"description": "Machine endpoints for the selected workflow.",
"additionalProperties": {
"type": "string"
}
},
"lifecycle": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ordered lifecycle stages."
}
},
"description": "Structured workflow guidance selected by topic.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_catalog — PrivateDAO Capability Catalog
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.
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"description": "Optional business or capability text used to filter catalog entries."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of entries returned in each selected catalog slice."
},
"filter": {
"enum": [
"all",
"services",
"products",
"external",
"network"
],
"type": "string",
"default": "all",
"description": "Select the catalog slice to return."
}
},
"description": "Return read-only service, product, external, or network catalog metadata. Use discover_agents for task matching.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"filter": {
"type": "string",
"description": "Catalog slice used for the response."
},
"network": {
"type": "object",
"description": "Supported network capability metadata.",
"additionalProperties": true
},
"external": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Published external capability metadata."
},
"products": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Productized workflow metadata."
},
"services": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "First-party and published service metadata."
}
},
"description": "Filtered, read-only catalog response.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}discover_agents — PrivateDAO Agent Discovery
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.
{
"type": "object",
"anyOf": [
{
"required": [
"query"
]
},
{
"required": [
"capabilities"
]
}
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of ranked agent matches to return."
},
"query": {
"type": "string",
"maxLength": 500,
"description": "Natural-language business requirement or capability request."
},
"network": {
"type": "string",
"description": "Optional target network constraint used to filter compatible matches."
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 32,
"description": "Structured capability terms to match against registered agents."
}
},
"description": "Discover and rank matching first-party services and registered agents without executing work or spending funds.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"query": {
"type": [
"string",
"null"
],
"description": "Natural-language query echoed by the matcher."
},
"agents": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Registered agent matches."
},
"matches": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Ranked first-party service matches."
},
"first_party": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "PrivateDAO first-party discovery entry."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Capability terms used for matching."
}
},
"description": "Ranked discovery result without executing or paying.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_provider_integrations — PrivateDAO 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.
{
"type": "object",
"properties": {},
"description": "Return read-only provider and ecosystem integration metadata. Use this for integration context, not capability matching.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"disclosure": {
"type": "string",
"description": "Boundary explaining what the integration records do and do not prove."
},
"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."
}
},
"description": "Provider roles, status signals, and integration disclosures.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}service_recommendation — PrivateDAO Capability Advisor
Translate a business or product objective into the most relevant PrivateDAO capabilities and a practical next step.
{
"type": "object",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"maxLength": 500,
"minLength": 2,
"description": "Natural-language task the agent wants to accomplish."
},
"network": {
"type": "string",
"description": "Optional target network constraint."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"note": {
"type": "string",
"description": "Matching and next-step guidance."
},
"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."
}
},
"description": "Ranked first-party service recommendations for the requested business task.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_status — PrivateDAO PrivatePay Architecture
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.
{
"type": "object",
"properties": {},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the private settlement rail is currently enabled for new payment operations."
},
"network": {
"type": "string",
"description": "Settlement network identifier."
},
"privacy": {
"type": "object",
"description": "Provider-visible and public-chain privacy boundaries.",
"additionalProperties": true
},
"pdao_required": {
"type": "boolean",
"description": "Whether the private path requires the PDAO entry policy."
},
"settlement_mode": {
"type": "string",
"description": "Configured provider settlement mode."
},
"activation_blockers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Explicit blockers when the rail is unavailable."
}
},
"description": "Fail-closed PrivatePAY readiness and privacy status.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_challenge — PrivateDAO Payment Challenge
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.
{
"type": "object",
"required": [
"resource",
"provider_id",
"amount_base_units"
],
"properties": {
"nonce": {
"type": "string",
"maxLength": 200,
"description": "Optional caller nonce used to bind a fresh challenge."
},
"resource": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Stable HTTPS resource or service identifier being purchased."
},
"mime_type": {
"type": "string",
"maxLength": 100,
"description": "Optional response media type for the purchased resource."
},
"provider_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"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."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"privacy": {
"type": "object",
"description": "Redacted privacy boundary for the challenge.",
"additionalProperties": true
},
"request_id": {
"type": "string",
"description": "Fresh challenge or payment request identifier."
},
"payment_required": {
"type": "object",
"description": "Exact x402 v2 requirements to present to the payer.",
"additionalProperties": true
},
"payment_required_header": {
"type": "string",
"description": "HTTP PAYMENT-REQUIRED value when returned by the checkout flow."
}
},
"description": "Structured PrivatePAY x402 challenge and payment requirements.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_checkout — PrivateDAO Private Checkout
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.
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana payer wallet public key; never a private key."
},
"phase": {
"enum": [
"create",
"challenge"
],
"type": "string",
"default": "create",
"description": "Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
},
"resource": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "HTTPS resource or service endpoint being purchased."
},
"payment_id": {
"type": "string",
"pattern": "^[a-f0-9]{64}$",
"description": "Existing 64-character checkout identifier when phase is challenge."
},
"description": {
"type": "string",
"maxLength": 256,
"description": "Human-readable commercial description shown in the checkout response."
},
"amount_base_units": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Quoted USDC amount in base units."
},
"expires_in_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 60,
"description": "Challenge lifetime in seconds, between one minute and one day."
},
"external_reference": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Merchant-owned idempotency or order reference."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Checkout state or next action."
},
"payment_id": {
"type": "string",
"description": "Checkout identifier used to request the challenge or continue the checkout."
},
"payment_required": {
"type": "object",
"description": "Exact x402 v2 requirements when the challenge phase is requested.",
"additionalProperties": true
},
"payment_required_header": {
"type": "string",
"description": "HTTP PAYMENT-REQUIRED value when returned."
}
},
"description": "Private checkout terms, request identifiers, and payment requirements.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_prepare — PrivateDAO Payment Preparation
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.
{
"type": "object",
"required": [
"request_id",
"amount_base_units"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Optional destination or balance owner public key."
},
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Wallet public key that will inspect and authorize the transaction."
},
"phase": {
"enum": [
"deposit",
"transfer",
"withdraw"
],
"type": "string",
"default": "transfer",
"description": "Unsigned wallet operation to prepare after the challenge: deposit into the private rail, private transfer, or withdrawal."
},
"split": {
"type": "integer",
"maximum": 15,
"minimum": 1,
"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."
},
"request_id": {
"type": "string",
"pattern": "^pp_[a-f0-9]{32}$",
"description": "PrivatePAY request identifier returned by the challenge or checkout."
},
"amount_base_units": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Token amount in base units."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"phase": {
"enum": [
"deposit",
"transfer",
"withdraw"
],
"type": "string",
"description": "Prepared private-rail operation."
},
"request_id": {
"type": "string",
"description": "PrivatePAY request identifier bound to the unsigned 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."
}
},
"description": "Unsigned PrivatePAY preparation context for local wallet authorization.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_verify — PrivateDAO Payment Verification
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.
{
"type": "object",
"required": [
"x402Version",
"paymentPayload",
"paymentRequirements"
],
"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."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Whether the facilitator accepted the exact payment requirements."
},
"status": {
"type": "string",
"description": "Verification status or next action."
},
"evidence": {
"type": "object",
"description": "Redacted facilitator evidence.",
"additionalProperties": true
},
"request_id": {
"type": "string",
"description": "Redacted PrivatePAY request identifier when available."
}
},
"description": "Structured validation evidence for an x402 payment payload.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}privatepay_settle — PrivateDAO Payment Settlement
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.
{
"type": "object",
"required": [
"x402Version",
"paymentPayload",
"paymentRequirements"
],
"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."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Settlement status."
},
"settled": {
"type": "boolean",
"description": "Whether the facilitator accepted settlement."
},
"evidence": {
"type": "object",
"description": "Redacted settlement evidence; provider secrets and sensitive payment payloads are excluded.",
"additionalProperties": true
},
"request_id": {
"type": "string",
"description": "Redacted PrivatePAY request identifier when available."
}
},
"description": "Structured PrivatePAY settlement evidence.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}privatepay_job_payment — PrivateDAO Paid Workflow Payment
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.
{
"type": "object",
"required": [
"job_id",
"payment_signature"
],
"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."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Paid workflow job identifier."
},
"result": {
"type": "object",
"description": "Service result when execution completes.",
"additionalProperties": true
},
"status": {
"type": "string",
"description": "Job or payment state after applying the supplied x402 proof."
},
"receipt": {
"type": "object",
"description": "Public evidence receipt when execution completes.",
"additionalProperties": true
}
},
"description": "Private payment application result for a selected job.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}verify_receipt — PrivateDAO Receipt Verification
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.
{
"type": "object",
"anyOf": [
{
"required": [
"receipt_id"
]
},
{
"required": [
"receipt"
]
},
{
"required": [
"mint"
]
},
{
"required": [
"asset"
]
},
{
"required": [
"record"
]
}
],
"properties": {
"mint": {
"type": "string",
"description": "Solana mint for basic verification."
},
"mode": {
"enum": [
"basic",
"receipt"
],
"type": "string",
"default": "receipt",
"description": "Use basic for an asset/record check or receipt for an existing receipt."
},
"asset": {
"type": "string",
"description": "Alias for mint."
},
"record": {
"type": "object",
"description": "Structured record for basic verification."
},
"network": {
"type": "string",
"description": "Optional network identifier for the asset or receipt evidence."
},
"receipt": {
"type": "object",
"description": "Receipt returned by a completed job."
},
"receipt_id": {
"type": "string",
"pattern": "^rvr_[A-Za-z0-9]+$",
"description": "Receipt identifier to retrieve and verify."
},
"expected_hash": {
"type": "string",
"description": "Optional result hash that must match the receipt evidence."
},
"expected_digest": {
"type": "string",
"description": "Optional digest that must match the canonical verified record."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Operation status."
},
"receipt": {
"type": "object",
"description": "Public receipt metadata when retrieved.",
"additionalProperties": true
},
"receipt_id": {
"type": "string",
"description": "Public receipt identifier when available."
},
"result_hash": {
"type": "string",
"description": "Verified result hash when available."
},
"evidence_hash": {
"type": "string",
"description": "Canonical evidence hash when available."
},
"verification_status": {
"type": "string",
"description": "Verification result when evidence is accepted."
}
},
"description": "Read-only verification evidence or a public receipt.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_paid_job — PrivateDAO Service Request
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.
{
"type": "object",
"required": [
"service_id"
],
"properties": {
"input": {
"type": "object",
"description": "Service-specific JSON input matching the selected service schema."
},
"service_id": {
"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"
],
"type": "string",
"description": "Paid service identifier selected from list_catalog or discover_agents."
},
"pdao_access": {
"type": "object",
"required": [
"wallet",
"message",
"signature",
"nonce"
],
"properties": {
"nonce": {
"type": "string"
},
"wallet": {
"type": "string"
},
"message": {
"type": "string"
},
"signature": {
"type": "string"
}
},
"description": "Optional signed PDAO holder challenge from /api/access/challenge.",
"additionalProperties": false
},
"payment_mode": {
"enum": [
"direct",
"privatepay"
],
"type": "string",
"default": "direct",
"description": "Select privatepay only when the PrivatePAY x402 status is enabled."
}
},
"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.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Stable request identifier."
},
"result": {
"type": "object",
"description": "Service result when the request completes immediately.",
"additionalProperties": true
},
"status": {
"type": "string",
"description": "Request status, commonly awaiting_payment or completed."
},
"receipt": {
"type": "object",
"description": "Public receipt metadata when the request completes.",
"additionalProperties": true
},
"payment_intent": {
"type": "object",
"description": "Exact quote and recipient details when payment is required.",
"additionalProperties": true
}
},
"description": "Quote-first service request result; creating the request does not spend funds.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}submit_payment — PrivateDAO Payment Confirmation
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.
{
"type": "object",
"required": [
"job_id",
"signature"
],
"properties": {
"job_id": {
"type": "string",
"pattern": "^job_[A-Za-z0-9-]+$"
},
"signature": {
"type": "string",
"description": "Finalized Solana transaction signature."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Payment endpoint status or next action."
},
"receipt": {
"type": "object",
"description": "Public receipt metadata after successful execution.",
"additionalProperties": true
},
"required": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required fields when the HTTP payment endpoint must be used."
}
},
"description": "Payment confirmation or exact next-step response.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}job_status — PrivateDAO Request Status
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.
{
"type": "object",
"required": [
"job_id"
],
"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."
}
},
"description": "Read the current asynchronous request state, exact payment intent, result, or receipt reference. This is free and never retries or charges a payment.",
"additionalProperties": false
}{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Stable request identifier."
},
"result": {
"type": "object",
"description": "Service result when complete.",
"additionalProperties": true
},
"status": {
"type": "string",
"description": "Current request state."
},
"receipt_id": {
"type": "string",
"description": "Receipt identifier when available."
},
"payment_intent": {
"type": "object",
"description": "Exact quote when payment is pending.",
"additionalProperties": true
}
},
"description": "Current read-only request state and available evidence.",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}cancel_job — PrivateDAO Request Cancellation
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.
{
"type": "object",
"required": [
"job_id"
],
"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."
}
},
"description": "Cancel an unpaid pending request before execution. This writes only cancellation state and never refunds or reverses a settled payment.",
"additionalProperties": false
}{
"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."
}
},
"description": "Cancellation result for an unpaid pending request.",
"additionalProperties": true
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1773 ms
- 95th percentile latency
- 1773 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1773 ms · metadata changed · 17 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http privatedao-agent-exchange-mcp https://agents.privatedao.org/mcpCodex
codex mcp add privatedao-agent-exchange-mcp --url https://agents.privatedao.org/mcpCursor
{
"mcpServers": {
"privatedao-agent-exchange-mcp": {
"url": "https://agents.privatedao.org/mcp"
}
}
}Cline
{
"mcpServers": {
"privatedao-agent-exchange-mcp": {
"type": "streamableHttp",
"url": "https://agents.privatedao.org/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"privatedao-agent-exchange-mcp": {
"type": "http",
"url": "https://agents.privatedao.org/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http privatedao-agent-exchange-mcp https://agents.privatedao.org/mcpClaude Desktop
https://agents.privatedao.org/mcpWindsurf
{
"mcpServers": {
"privatedao-agent-exchange-mcp": {
"serverUrl": "https://agents.privatedao.org/mcp"
}
}
}Let your agent find its tools
Find servers like PrivateDAO Agent Exchange MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.