Skip to main content
Glama

PrivateDAO Agent Exchange

PrivateDAO Private Checkout

privatepay_checkout
Idempotent

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

NameRequiredDescriptionDefault
payerNoSolana payer wallet public key; never a private key.
phaseNoUse create for a new checkout or challenge to request the payment-required response for an existing payment_id.create
resourceNoHTTPS resource or service endpoint being purchased.
payment_idNoExisting 64-character checkout identifier when phase is challenge.
descriptionNoHuman-readable commercial description shown in the checkout response.
amount_base_unitsNoQuoted USDC amount in base units.
expires_in_secondsNoChallenge lifetime in seconds, between one minute and one day.
external_referenceNoMerchant-owned idempotency or order reference.

Output Schema

NameRequiredDescriptionDefault
statusNoCheckout state or next action.
payment_idNoCheckout identifier used to request the challenge or continue the checkout.
payment_requiredNoExact x402 v2 requirements when the challenge phase is requested.
payment_required_headerNoHTTP PAYMENT-REQUIRED value when returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • changedInput schema / description
      Previous value: -"Create an official MagicBlock private checkout or request its x402 challenge. No wallet signing or broadcasting occurs."New value: +"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."
    • addedInput schema / properties / amount_base_units / description
      Added value: +"Quoted USDC amount in base units."
    • addedInput schema / properties / description / description
      Added value: +"Human-readable commercial description shown in the checkout response."
    • addedInput schema / properties / expires_in_seconds / description
      Added value: +"Challenge lifetime in seconds, between one minute and one day."
    • addedInput schema / properties / external_reference / description
      Added value: +"Merchant-owned idempotency or order reference."
    • addedInput schema / properties / payer / description
      Added value: +"Solana payer wallet public key; never a private key."
    • addedInput schema / properties / payment_id / description
      Added value: +"Existing 64-character checkout identifier when phase is challenge."
    • addedInput schema / properties / phase / description
      Added value: +"Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
    • addedInput schema / properties / resource / description
      Added value: +"HTTPS resource or service endpoint being purchased."
    • addedOutput schema / properties
      Added value: +{
      +  "payment_id": {
      +    "description": "Checkout identifier used to request the challenge or continue the checkout.",
      +    "type": "string"
      +  },
      +  "payment_required": {
      +    "additionalProperties": true,
      +    "description": "Exact x402 v2 requirements when the challenge phase is requested.",
      +    "type": "object"
      +  },
      +  "payment_required_header": {
      +    "description": "HTTP PAYMENT-REQUIRED value when returned.",
      +    "type": "string"
      +  },
      +  "status": {
      +    "description": "Checkout state or next action.",
      +    "type": "string"
      +  }
      +}
  2. Changed10 schema fields changed
    • changedInput schema / description
      Previous value: -"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."New value: +"Create an official MagicBlock private checkout or request its x402 challenge. No wallet signing or broadcasting occurs."
    • removedInput schema / properties / amount_base_units / description
      Removed value: -"Quoted USDC amount in base units."
    • removedInput schema / properties / description / description
      Removed value: -"Human-readable commercial description shown in the checkout response."
    • removedInput schema / properties / expires_in_seconds / description
      Removed value: -"Challenge lifetime in seconds, between one minute and one day."
    • removedInput schema / properties / external_reference / description
      Removed value: -"Merchant-owned idempotency or order reference."
    • removedInput schema / properties / payer / description
      Removed value: -"Solana payer wallet public key; never a private key."
    • removedInput schema / properties / payment_id / description
      Removed value: -"Existing 64-character checkout identifier when phase is challenge."
    • removedInput schema / properties / phase / description
      Removed value: -"Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
    • removedInput schema / properties / resource / description
      Removed value: -"HTTPS resource or service endpoint being purchased."
    • removedOutput schema / properties
      Removed value: -{
      -  "payment_id": {
      -    "description": "Checkout identifier used to request the challenge or continue the checkout.",
      -    "type": "string"
      -  },
      -  "payment_required": {
      -    "additionalProperties": true,
      -    "description": "Exact x402 v2 requirements when the challenge phase is requested.",
      -    "type": "object"
      -  },
      -  "payment_required_header": {
      -    "description": "HTTP PAYMENT-REQUIRED value when returned.",
      -    "type": "string"
      -  },
      -  "status": {
      -    "description": "Checkout state or next action.",
      -    "type": "string"
      -  }
      -}
  3. Changed10 schema fields changed
    • changedInput schema / description
      Previous value: -"Create an official MagicBlock private checkout or request its x402 challenge. No wallet signing or broadcasting occurs."New value: +"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."
    • addedInput schema / properties / amount_base_units / description
      Added value: +"Quoted USDC amount in base units."
    • addedInput schema / properties / description / description
      Added value: +"Human-readable commercial description shown in the checkout response."
    • addedInput schema / properties / expires_in_seconds / description
      Added value: +"Challenge lifetime in seconds, between one minute and one day."
    • addedInput schema / properties / external_reference / description
      Added value: +"Merchant-owned idempotency or order reference."
    • addedInput schema / properties / payer / description
      Added value: +"Solana payer wallet public key; never a private key."
    • addedInput schema / properties / payment_id / description
      Added value: +"Existing 64-character checkout identifier when phase is challenge."
    • addedInput schema / properties / phase / description
      Added value: +"Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
    • addedInput schema / properties / resource / description
      Added value: +"HTTPS resource or service endpoint being purchased."
    • addedOutput schema / properties
      Added value: +{
      +  "payment_id": {
      +    "description": "Checkout identifier used to request the challenge or continue the checkout.",
      +    "type": "string"
      +  },
      +  "payment_required": {
      +    "additionalProperties": true,
      +    "description": "Exact x402 v2 requirements when the challenge phase is requested.",
      +    "type": "object"
      +  },
      +  "payment_required_header": {
      +    "description": "HTTP PAYMENT-REQUIRED value when returned.",
      +    "type": "string"
      +  },
      +  "status": {
      +    "description": "Checkout state or next action.",
      +    "type": "string"
      +  }
      +}
  4. Changed10 schema fields changed
    • changedInput schema / description
      Previous value: -"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."New value: +"Create an official MagicBlock private checkout or request its x402 challenge. No wallet signing or broadcasting occurs."
    • removedInput schema / properties / amount_base_units / description
      Removed value: -"Quoted USDC amount in base units."
    • removedInput schema / properties / description / description
      Removed value: -"Human-readable commercial description shown in the checkout response."
    • removedInput schema / properties / expires_in_seconds / description
      Removed value: -"Challenge lifetime in seconds, between one minute and one day."
    • removedInput schema / properties / external_reference / description
      Removed value: -"Merchant-owned idempotency or order reference."
    • removedInput schema / properties / payer / description
      Removed value: -"Solana payer wallet public key; never a private key."
    • removedInput schema / properties / payment_id / description
      Removed value: -"Existing 64-character checkout identifier when phase is challenge."
    • removedInput schema / properties / phase / description
      Removed value: -"Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
    • removedInput schema / properties / resource / description
      Removed value: -"HTTPS resource or service endpoint being purchased."
    • removedOutput schema / properties
      Removed value: -{
      -  "payment_id": {
      -    "description": "Checkout identifier used to request the challenge or continue the checkout.",
      -    "type": "string"
      -  },
      -  "payment_required": {
      -    "additionalProperties": true,
      -    "description": "Exact x402 v2 requirements when the challenge phase is requested.",
      -    "type": "object"
      -  },
      -  "payment_required_header": {
      -    "description": "HTTP PAYMENT-REQUIRED value when returned.",
      -    "type": "string"
      -  },
      -  "status": {
      -    "description": "Checkout state or next action.",
      -    "type": "string"
      -  }
      -}
  5. Changed1 schema field changed
    • addedOutput schema / properties
      Added value: +{
      +  "payment_id": {
      +    "description": "Checkout identifier used to request the challenge or continue the checkout.",
      +    "type": "string"
      +  },
      +  "payment_required": {
      +    "additionalProperties": true,
      +    "description": "Exact x402 v2 requirements when the challenge phase is requested.",
      +    "type": "object"
      +  },
      +  "payment_required_header": {
      +    "description": "HTTP PAYMENT-REQUIRED value when returned.",
      +    "type": "string"
      +  },
      +  "status": {
      +    "description": "Checkout state or next action.",
      +    "type": "string"
      +  }
      +}
  6. Changed9 schema fields changed
    • changedInput schema / description
      Previous value: -"Create an official MagicBlock private checkout or request its x402 challenge. No wallet signing or broadcasting occurs."New value: +"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."
    • addedInput schema / properties / amount_base_units / description
      Added value: +"Quoted USDC amount in base units."
    • addedInput schema / properties / description / description
      Added value: +"Human-readable commercial description shown in the checkout response."
    • addedInput schema / properties / expires_in_seconds / description
      Added value: +"Challenge lifetime in seconds, between one minute and one day."
    • addedInput schema / properties / external_reference / description
      Added value: +"Merchant-owned idempotency or order reference."
    • addedInput schema / properties / payer / description
      Added value: +"Solana payer wallet public key; never a private key."
    • addedInput schema / properties / payment_id / description
      Added value: +"Existing 64-character checkout identifier when phase is challenge."
    • addedInput schema / properties / phase / description
      Added value: +"Use create for a new checkout or challenge to request the payment-required response for an existing payment_id."
    • addedInput schema / properties / resource / description
      Added value: +"HTTPS resource or service endpoint being purchased."
  7. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Private checkout terms, request identifiers, and payment requirements.",
      +  "type": "object"
      +}
  8. Added

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations say readOnlyHint=false, so an agent might assume a mutation; the description corrects this by stating it 'never signs, broadcasts, or moves funds' and 'returns commercial terms only.' That is genuine value beyond the annotations, though it doesn't mention auth requirements or what happens to an existing payment_id on re-create.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and immediately followed by the differentiator and the safety constraint. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return-value detail is unnecessary, and idempotency is covered by idempotentHint. What remains thin is prerequisite/error context (what happens if payment_id is invalid or if phase is omitted for an existing checkout).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented with patterns and bounds. The description adds only a light gloss on the create/challenge phase distinction, which the phase enum already conveys. Baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Create a MagicBlock PrivatePAY checkout or request the payment-required challenge for an existing checkout.' It also distinguishes the tool from the sibling create_paid_job with direct USDC, so an agent can route between them without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing guidance ('use this instead of create_paid_job with direct USDC') and the schema's phase enum spells out create vs challenge. It stops short of naming the closely related siblings privatepay_challenge / privatepay_prepare and their conditions, which would be needed for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.