MCP Monetize

documentação do MCP Monetize.

Busque, negocie e compre acesso a recursos com USDC de teste x402 na Ethereum Sepolia.

Ethereum Sepolia. USDC de teste. Mainnet desligada.

O que é

O nome no MCP Registry é br.com.azpay/monetize, versão 1.1.0. O título publicado é AZPay Monetize — Sepolia Sandbox. A versão 1.1.0 está no MCP Registry oficial.

A rede é Ethereum Sepolia (eip155:11155111, Sepolia testnet). O ativo é USDC de teste. mainnet está disabled e o servidor é só testnet (testnet_only).

Endpoint

O endpoint é https://mcp.agents.trydak.com/mcp-monetize. O transporte remoto é HTTP streamable (streamable-http).

A descoberta não exige autenticação. O primeiro teste não precisa mover nenhum token. Comece pela descoberta e pela leitura das condições, no endpoint público, sem credenciais de patrocínio.

Conectar a partir do ChatGPT, do Claude e de outros clientes MCP

ChatGPT, Claude e outros clientes que aceitam MCP remoto via Streamable HTTP usam o endpoint público acima.

O formato abaixo é um exemplo de configuração usado por clientes que adotam a convenção mcpServers. O nome e o formato exato podem variar entre aplicações; não é uma exigência do protocolo MCP:

{
  "mcpServers": {
    "azpay-monetize": {
      "url": "https://mcp.agents.trydak.com/mcp-monetize"
    }
  }
}

Depois, peça ao agente para listar ferramentas e executar search_resources com consulta vazia ou termos do recurso. Use get_quote com um identificador retornado pela busca. Não invente um identificador a partir do nome comercial: use o valor que o catálogo devolveu.

Uma instrução útil para o experimento é:

Conecte ao AZPay Monetize e procure recursos de teste.
Leia a cotação e explique recurso, quantidade, total e rede.
Não assine nem pague sem minha autorização explícita.
Se houver cobrança, confirme que é USDC de teste na Sepolia.
Não use fundos ou chaves de mainnet.

As oito ferramentas

Ferramentas do MCP AZPay Monetize
FerramentaO que faz
search_resourcesLista recursos pagos na Sepolia. Não paga.
get_quoteDevolve a cotação de um recurso. Não paga.
negotiate_pricePropõe preço unitário e quantidade. Não paga.
prepare_checkoutDevolve o resumo azpay.checkout.v1 e a confirmation de uso único. Nunca paga.
pay_and_accessÉ a única ferramenta que gasta. Chamadores públicos recebem os requisitos x402 e pagam o gateway eles mesmos.
get_receiptResgata uma compra já paga pelo hash da transação (tx_hash). Nunca cobra.
get_checkout_statusLeitura apenas: estado pending, paid, consumed, expired ou cancelled, além de valor, unidades restantes e validade. Não paga.
cancel_checkoutInvalida uma confirmation ainda não usada. É idempotente e não cancela um pagamento já liquidado.

Os nomes antigos search, fetch, negociar, preparar_pagamento, pagar_e_acessar e recibo continuam a funcionar como aliases depreciados. Os argumentos canônicos estão em inglês: confirmation, confirm e tx_hash. confirmacao e confirmar ainda são aceites.

Fluxo de compra

Chame negotiate_price com preço unitário e quantidade. Examine a decisão. Se houver contraoferta, não trate a negociação como pagamento concluído; revise as condições e prossiga somente quando houver uma oferta aceita apropriada.

Chame prepare_checkout com a oferta. A ferramenta não paga. O resultado traz o resumo no esquema azpay.checkout.v1 e a confirmation de uso único. O resultado deve indicar checkout ainda não pago. No contrato publicado, o campo e o argumento canônicos são confirmation; pay_and_access também recebe o argumento confirm. Os aliases confirmacao e confirmar ainda são aceites. Guarde a confirmation apenas no contexto seguro da interação; ela não é material para publicar em logs ou capturas de tela.

pay_and_access é o passo de pagamento. Chamadores anônimos recebem azpay.payment_required.v1 e o agente paga por conta própria, via x402. A experiência pública não usa a carteira do servidor para assinar por você.

Antes ou depois do pagamento, get_checkout_status lê o estado (pending, paid, consumed, expired ou cancelled), o valor, as unidades restantes e a validade, sem pagar. Se a pessoa desistir de uma confirmation ainda não usada, chame cancel_checkout: a chamada é idempotente e não cancela um pagamento já liquidado.

O agente envia o cabeçalho x-azpay-offer-id e o cabeçalho PAYMENT-SIGNATURE (alias X-PAYMENT). O scheme é exact. A rede é eip155:11155111.

Para avançar até a liquidação, o cliente precisa de uma carteira exclusiva de teste com USDC da Sepolia e de um assinador compatível com os requisitos apresentados. Sem isso, ainda é possível validar descoberta, negociação e preparação.

O curl permite examinar o desafio, mas não fabrica uma autorização criptográfica. O exemplo abaixo é simplificado. Suponha que a negociação retornou uma oferta válida e que payment.resource_url contém a URL pública do recurso protegido. Preencha as variáveis com os dados dessa execução, nunca com uma URL privada de patrocínio:

RESOURCE_URL='https://x402-demo.azpay.com.br/premium'
OFFER_ID='SUBSTITUA_PELA_SUA_OFERTA_ACEITA'

curl --include --silent --show-error "$RESOURCE_URL" \
  --header "x-azpay-offer-id: $OFFER_ID"

Para uma oferta válida e não paga, o gateway apresenta HTTP 402 e o cabeçalho PAYMENT-REQUIRED. Se a oferta venceu ou não existe, você pode receber outro erro antes do desafio. Por isso, use sempre uma oferta recém-obtida pelo fluxo, não um identificador copiado desta página.

O cliente x402 precisa decodificar os requisitos, comparar com a oferta e produzir uma autorização EIP-3009 na Sepolia. A assinatura fica no ambiente local do comprador. Não envie uma chave privada ao MCP, não cole a chave em um prompt e não a coloque em histórico de terminal.

Depois de obter o payload x402 v2 exact assinado, o cliente o serializa no formato esperado e envia seu JSON em base64 no cabeçalho de pagamento. O trecho seguinte é um esquema de requisição, não um assinador completo:

# PAYMENT_SIGNATURE deve vir do seu componente assinador local.
# Não imprima a variável nem publique o payload assinado.
curl --include --silent --show-error "$RESOURCE_URL" \
  --header "x-azpay-offer-id: $OFFER_ID" \
  --header "PAYMENT-SIGNATURE: $PAYMENT_SIGNATURE"

Após a liquidação, chame get_receipt com o hash da sua transação (tx_hash) para resgatar uma unidade. Se houver timeout ou estado pendente, acompanhe a mesma operação. Não produza uma nova assinatura automaticamente só porque a conexão demorou.

USDC de teste

USDC de teste, na rede Ethereum Sepolia: faucet.circle.com.