What it is
The MCP Registry name is br.com.azpay/monetize, version 1.1.0. The published title is AZPay Monetize — Sepolia Sandbox. Version 1.1.0 is in the official MCP Registry.
The network is Ethereum Sepolia (eip155:11155111, Sepolia testnet). The asset is test USDC. mainnet is disabled, and the server is testnet only (testnet_only).
Endpoint
The endpoint is https://mcp.agents.trydak.com/mcp-monetize. The remote transport is streamable HTTP (streamable-http).
Discovery does not require authentication. The first test does not need to move any token. Start with discovery and with reading the terms, on the public endpoint, without sponsorship credentials.
Connecting from ChatGPT, Claude, and other MCP clients
ChatGPT, Claude, and other clients that accept remote MCP over Streamable HTTP use the public endpoint above.
The format below is a configuration example used by clients that follow the mcpServers convention. The name and the exact format can vary between applications; it is not a requirement of the MCP protocol:
{
"mcpServers": {
"azpay-monetize": {
"url": "https://mcp.agents.trydak.com/mcp-monetize"
}
}
}
Then ask the agent to list tools and run search_resources with an empty query or with terms from the resource. Use get_quote with an identifier returned by search. Do not invent an identifier from the commercial name: use the value the catalog returned.
A useful instruction for the experiment is:
Connect to AZPay Monetize and look for test resources.
Read the quote and explain the resource, quantity, total, and network.
Do not sign or pay without my explicit authorization.
If there is a charge, confirm that it is test USDC on Sepolia.
Do not use mainnet funds or keys.
The eight tools
| Tool | What it does |
|---|---|
search_resources | Lists paid Sepolia resources. Does not pay. |
get_quote | Returns the quote for one resource. Does not pay. |
negotiate_price | Proposes a unit price and quantity. Does not pay. |
prepare_checkout | Returns the azpay.checkout.v1 summary and a single-use confirmation. Never pays. |
pay_and_access | The only tool that spends. Public callers get x402 payment requirements and pay the gateway themselves. |
get_receipt | Redeems an already-paid purchase by transaction hash (tx_hash). Never charges. |
get_checkout_status | Read-only: state pending, paid, consumed, expired, or cancelled, plus amount, units remaining, and expiry. Does not pay. |
cancel_checkout | Invalidates an unused confirmation. It is idempotent and cannot cancel a settled payment. |
The old names search, fetch, negociar, preparar_pagamento, pagar_e_acessar, and recibo still work as deprecated aliases. Canonical arguments are in English: confirmation, confirm, and tx_hash. confirmacao and confirmar are still accepted.
Purchase flow
Call negotiate_price with a unit price and a quantity. Examine the decision. If there is a counteroffer, do not treat the negotiation as a completed payment; review the terms and continue only when there is an appropriate accepted offer.
Call prepare_checkout with the offer. The tool does not pay. The result carries the summary in the azpay.checkout.v1 schema and the single-use confirmation. The result should show that checkout is not paid yet. In the published contract, the canonical field and argument are confirmation; pay_and_access also takes the argument confirm. The aliases confirmacao and confirmar are still accepted. Keep the confirmation only in the secure context of the interaction; it is not material to publish in logs or screenshots.
pay_and_access is the payment step. Anonymous callers receive azpay.payment_required.v1, and the agent pays on its own, via x402. The public experience does not use the server wallet to sign for you.
Before or after payment, get_checkout_status reads the state (pending, paid, consumed, expired, or cancelled), amount, units remaining, and expiry, without paying. If the person abandons an unused confirmation, call cancel_checkout: the call is idempotent and cannot cancel a settled payment.
The agent sends the x-azpay-offer-id header and the PAYMENT-SIGNATURE header (alias X-PAYMENT). The scheme is exact. The network is eip155:11155111.
To go as far as settlement, the client needs an exclusive test wallet with Sepolia USDC and a signer compatible with the requirements that were presented. Without that, it is still possible to validate discovery, negotiation, and preparation.
curl can inspect the challenge, but it does not create a cryptographic authorization. The example below is simplified. Assume the negotiation returned a valid offer and that payment.resource_url contains the public URL of the protected resource. Fill the variables with the data from that run, never with a private sponsorship URL:
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"
SUBSTITUA_PELA_SUA_OFERTA_ACEITA means: replace it with your accepted offer. For a valid unpaid offer, the gateway presents HTTP 402 and the PAYMENT-REQUIRED header. If the offer expired or does not exist, you can receive another error before the challenge. Always use an offer just obtained from the flow, not an identifier copied from this page.
The x402 client has to decode the requirements, compare them with the offer, and produce an EIP-3009 authorization on Sepolia. The signature stays in the buyer's local environment. Do not send a private key to the MCP, do not paste the key into a prompt, and do not put it in terminal history.
After you have the signed x402 v2 exact payload, the client serializes it in the expected format and sends that JSON as base64 in the payment header. The next snippet is a request outline, not a complete signer:
# PAYMENT_SIGNATURE must come from your local signer component.
# Do not print the variable or publish the signed payload.
curl --include --silent --show-error "$RESOURCE_URL" \
--header "x-azpay-offer-id: $OFFER_ID" \
--header "PAYMENT-SIGNATURE: $PAYMENT_SIGNATURE"
After settlement, call get_receipt with the hash of your transaction (tx_hash) to redeem one unit. If there is a timeout or a pending state, follow the same operation. Do not produce a new signature automatically just because the connection was slow.
Test USDC
Test USDC, on the Ethereum Sepolia network: faucet.circle.com.
Links
- Official MCP Registry entry,
br.com.azpay/monetize: br.com.azpay/monetize. - Glama: glama.ai/mcp/connectors/br.com.azpay/monetize.
- Live ledger: see the live ledger.
- Manifest: https://mcp.agents.trydak.com/.well-known/mcp.json.