Skip to main content
Glama

create_paywall

Create an x402 paywall that charges agents/clients for accessing a resource. Returns a public access URL that returns HTTP 402 until paid. Agents pay on-chain, then retry with proof to get the content.

Instructions

Create an x402 paywall that charges agents/clients for accessing a resource. Returns a public access URL that returns HTTP 402 until paid. Agents pay on-chain, then retry with proof to get the content.

Input Schema

NameRequiredDescriptionDefault
nameYesHuman-readable paywall name (e.g. "Premium API Access")
amountYesPrice in human-readable format (e.g. "0.01" for 0.01 USDC)
chain_idNoChain ID for payments (8453=Base, 1=Ethereum, etc.)
wallet_idYesWallet ID to receive payments
token_nameNoToken display name (e.g. "USDC", "ETH")USDC
token_typeNo"erc20" for EVM stablecoins, "spl" for Solana SPL tokens, "native" for ETH/SOL/POL/etc.erc20
descriptionNoDescription shown in the 402 response
resource_urlYesURL of the protected resource to serve after payment verification
resource_mimeNoMIME type of the resource (e.g. "application/json", "text/plain")application/json
token_addressNoToken contract address (ERC-20 for EVM, SPL mint Base58 for Solana). Required if token_type is "erc20" or "spl". Use get_chains to find stablecoin addresses.
token_decimalsNoToken decimals. Defaults to the chain native decimals for "native", else 6 (USDC); set it for any other token

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.14.2
    • removedInput schema / properties / token_decimals / default
      Removed value: -6
    • changedInput schema / properties / token_decimals / description
      Previous value: -"Token decimals (6 for USDC, 18 for ETH/most tokens)"New value: +"Token decimals. Defaults to the chain native decimals for \"native\", else 6 (USDC); set it for any other token"
    • addedInput schema / properties / token_decimals / maximum
      Added value: +36
    • addedInput schema / properties / token_decimals / minimum
      Added value: +0
  2. First observedv1.7.3

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers real behavioral context: it returns a public access URL that responds HTTP 402 until paid, and describes the on-chain pay-then-retry flow. It omits persistent-record side effects, auth/wallet prerequisites, and error behavior, keeping it below a 5.

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

Conciseness4/5

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

Three tight sentences with the core action front-loaded ('Create an x402 paywall that charges...'). The subsequent sentences on the 402 response and payment flow each add value rather than repeating the name.

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?

For an 11-parameter creation tool with no annotations and no output schema, the description compensates by describing the return value (public access URL) and the 402/retry semantics an agent needs. Gaps remain around prerequisites and side effects, but the essential model is conveyed.

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 description coverage is 100%, so all 11 parameters are already documented in the schema, including defaults, enum values, and the get_chains cross-reference for token_address. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Create an x402 paywall') and clarifies what the artifact does. The verb 'create' separates it from list_paywalls/update_paywall/delete_paywall/get_paywall. It stops short of explicitly naming alternatives, so a 4 rather than 5.

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

Usage Guidelines3/5

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

The description explains the payment flow a client follows (pay on-chain, retry with proof), which implies the tool's role. However, it gives no explicit when-to-use guidance or exclusions against siblings like update_paywall or pay_x402. Usage is implied but not stated.

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