முக்கிய உள்ளடக்கத்திற்கு தவிர்க்கவும்
கற்றுக்கொள்ளுங்கள்மார்க்கங்கள்உங்கள் MCP சேவையகத்தை பணம் சம்பாதிக்கவும்
மார்க்கம்

10 நிமிடங்களில் உங்கள் MCP சேவையகத்தை பணம் சம்பாதிக்கவும்.

10 நிமிடங்கள்
குறுகிய பதில்

Install @blockchain0x/mcp, மற்றும் ஒரு பிரீமியம் கருவியின் உள்ளே requirePayment ஐ அழைக்கவும், அழைப்பாளர் செலுத்தவில்லை என்றால் - இது ஒரு ஹோஸ்டு செய்யப்படும் checkout URL உடன் x402 402 சவாலை உருவாக்குகிறது, நீங்கள் அதை திருப்பி அனுப்புகிறீர்கள். payment.received webhook ஒத்திசைவை உறுதிப்படுத்தியவுடன், நீங்கள் அழைப்பாளரை உங்கள் சொந்த கடையில் செலுத்தியதாகக் குறிக்கிறீர்கள் மற்றும் கருவி இயங்குகிறது. இலவச கருவிகள் இலவசமாகவே இருக்கின்றன. ஒரு சாதாரண HTTP சர்வருக்கு, பெறும் பக்கம் x402 அடிப்படையாளர் அதே வேலை செய்கிறது.

முன்னணி தேவைகள்

நீங்கள் தொடங்குவதற்கு முன்.

  • Node அல்லது Python இல் அதிகாரப்பூர்வ Model Context Protocol SDK ஐப் பயன்படுத்தும் ஒரு செயல்பாட்டுள்ள MCP சேவையகம். நீங்கள் இன்னும் ஒன்றை வைத்திருக்கவில்லை என்றால், முதலில் மேல்நிலை மாதிரியைப் பயன்படுத்தி ஒன்றை உருவாக்கவும்.
  • ஒரு Blockchain0x கணக்கு மற்றும் ஒரு முகவர் சுயவிவரம் (5 நிமிட அமைப்பிற்கான add-payments-to-agent guide ஐப் பார்க்கவும்).
  • ஒரு API விசை (இந்த வழிகாட்டிக்காக sk_test_ ஐப் பயன்படுத்தவும்).
  • எவர் செலுத்தியதை நினைவில் வைத்திருக்க ஒரு சிறிய கடை (ஒரு தரவுத்தொகுப்பு வரி அல்லது ஒரு Redis விசை) - உங்கள் குறியீடு இதை வைத்திருக்கிறது, செலுத்தல் webhook மூலம் புதுப்பிக்கப்படுகிறது.
  • நீங்கள் எ quais கருவிகளுக்கு கட்டணம் செலுத்த விரும்புகிறீர்கள் மற்றும் ஒவ்வொரு அழைப்பிற்கும் விலை என்ன என்பதற்கான தெளிவான உணர்வு. வடிவமைப்பு மாதிரிகளுக்காக பணம் செலுத்திய MCP கருவி அகராதி உள்ளீடு ஐப் பாருங்கள்.
படி 1 இல் 4

தொகுப்பை நிறுவவும்.

@blockchain0x/mcp exports requirePayment, a pure function that mints an x402 402 challenge for a tool. It is npm (TypeScript) only. If you run a plain HTTP server instead of an MCP one, install the receive-side x402 adapter and gate routes with it.

நிறுத்தவும்
# Gate your own MCP tools with the requirePayment 402 builder:
npm install @blockchain0x/mcp

# Or gate a plain HTTP server with the receive-side x402 adapter + SDK:
npm install @blockchain0x/x402 @blockchain0x/node
படி 2 இல் 4

requirePayment உடன் ஒரு கருவியை அடைக்கவும்.

Inside the tool, check your own paid-state for the caller. If they have not paid, call requirePayment and return the resulting 402 body; if they have, run the work. requirePayment is a pure builder - it does not wrap the handler and does not track payment, so the gating policy stays in your code.

MCP கருவி (TypeScript)
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { requirePayment } from "@blockchain0x/mcp";
import { z } from "zod";

const server = new McpServer({ name: "premium-data-mcp", version: "1.0.0" });

server.tool(
  "get_quote_realtime",
  "Real-time quote (paid)",
  { ticker: z.string() },
  async ({ ticker }, extra) => {
    if (!hasPaid(extra)) {
      // Pure function: mint an x402 402 challenge and hand the body back.
      const { body } = requirePayment({
        amountUsdc: "0.005",
        payTo: "0xYourWallet",
        hostedUrl: "https://pay.blockchain0x.com/checkout/abc",
      });
      return { content: [{ type: "text", text: JSON.stringify(body) }], isError: true };
    }
    const quote = await fetchLiveQuote(ticker);
    return { content: [{ type: "text", text: JSON.stringify(quote) }] };
  },
);
சாதாரண HTTP சேவையகம் (பெறுதல் பக்கம் x402)
import express from "express";
import { createX402Middleware } from "@blockchain0x/x402/server/express";
import { createClient } from "@blockchain0x/node";

const sdk = createClient({ apiKey: process.env.BLOCKCHAIN0X_API_KEY! });
const app = express();

// Not an MCP server? Gate a plain HTTP route the same way. The middleware
// answers unpaid requests with a 402 and lets paid ones through.
// Configure the price and recipient per the x402 docs.
app.use("/quote", createX402Middleware({ sdk }));

402 உடல் requirePayment ஒரு கட்டணம் செலுத்தாத அழைப்பாளருக்கு திருப்புகிறது:

// requirePayment returns { status: 402, body }. The body an unpaid caller sees:
{
  "error": "payment_required",
  "amountUsdc": "0.005",
  "payTo": "0xYourWallet",
  "hostedUrl": "https://pay.blockchain0x.com/checkout/abc",
  "network": "mainnet"
}
படி 3 இல் 4

கட்டணத்தை உறுதிப்படுத்தவும், பின்னர் யார் செலுத்தினார்கள் என்பதை நினைவில் வைக்கவும்.

When a caller pays the checkout, Blockchain0x POSTs a signed payment.received event to your webhook. Verify it with webhooks.verify from @blockchain0x/node, then write the paid state to a store you control - a database row, a Redis key, your call. That store is what the tool checks in Step 2. There is no shipped receipt cache; you own where paid-state lives and how long it lasts.

வெப்கோக் கையாளி (TypeScript)
import express from "express";
import { webhooks } from "@blockchain0x/node";

const app = express();
app.use(express.raw({ type: "application/json" }));

app.post("/webhooks/payment", (req, res) => {
  const result = webhooks.verify({
    headers: req.headers,
    rawBody: req.body, // RAW bytes
    secret: process.env.BLOCKCHAIN0X_WEBHOOK_SECRET!,
  });
  if (!result.ok) return res.status(400).json({ code: result.code });

  if (result.eventType === "payment.received") {
    // Remember the payer however you like - a DB row, a Redis key, your call.
    markPaid(result.eventId);
  }
  res.status(200).send("ok");
});

ஒரு செலுத்தல் எவ்வளவு நேரம் அணுகலை வழங்குகிறது என்பது உங்கள் முடிவு - ஒரு தனிப்பட்ட அழைப்பு, ஒரு அமர்வு, ஒரு மணி நேரம். கருவிக்கு நீங்கள் விலை நிர்ணயிக்கும் முறையைப் பொருத்தமாகக் கொண்டு செலுத்தப்பட்ட மாநில விசையில் ஒரு காலாவதியை அமைக்கவும். சாதாரண அமர்வு ஒரு செலுத்தலை மீண்டும் பயன்படுத்தும் அளவுக்கு நீண்டதாகவும், தவறாகப் பயன்படுத்தப்படாத அளவுக்கு குறுகியதாகவும் இருக்க வேண்டும்.

படி 4 இல் 4

வினியோகிக்கவும் மற்றும் சரிபார்க்கவும்.

சர்வரை அனுப்பவும். இலவச கருவிகள் உடனடியாக தங்கள் முடிவுகளை வழங்க வேண்டும்; அடைக்கப்பட்ட கருவிகள் புதிய கிளையன்ட் மூலம் முதல் அழைப்பில் 402 உடலை வழங்க வேண்டும், பிறகு அந்த அழைப்பாளர் கட்டணம் செலுத்தப்பட்டதாகக் குறிக்கப்பட்ட பிறகு இயக்கவும். நேரத்திற்கு முன் செல்லும் முன் Base Sepoliaக்கு sk_test_ விசையைப் பயன்படுத்தி இரு பாதைகளையும் சரிபார்க்கவும்.

முதல் நாளில் கவனிக்க இரண்டு சிக்னல்கள்: 402s திருப்பிய எண்ணிக்கை (உங்கள் உச்ச குழாய்) மற்றும் 402 க்கு பிறகு வெற்றிகரமான கருவி இயக்கங்களின் எண்ணிக்கை (உங்கள் மாற்றம்). மாற்றம் எதிர்பார்த்ததைவிட மிகவும் குறைவாக இருந்தால், விலை தவறாக இருக்க வாய்ப்பு உள்ளது. உங்கள் பணம் செலுத்திய மாநிலக் கடையின் தாக்கம் வீதத்தையும் கவனிக்கவும் - இது பூஜ்யத்திற்கு அருகில் இருந்தால், உங்கள் அணுகல் ஜன்னல் மிகவும் குறுகியது மற்றும் பணம் செலுத்தும் அழைப்பாளர்கள் மீண்டும் பணம் செலுத்துமாறு கேட்கப்படுகிறார்கள்.

பொதுவான தவறுகள்

முதல் முறையாக MCP பணம் சம்பாதிக்கிறவர்களை கசப்பாக்கும் ஐந்து விஷயங்கள்.

செயலிழந்த முறையில் இலவச கருவிகளை அடுப்பில் வைக்கவும்

எல்லா கருவிகளையும் 'எப்படி இருந்தாலும்' கட்டுப்படுத்துவது ஈர்க்கக்கூடியது. செய்யாதீர்கள். கட்டணம் செலுத்தும் MCP சர்வர்களின் முழு மதிப்பு என்பது இலவச கருவிகள் கட்டணமானவற்றுடன் ஒரே சர்வரில் இணைந்து வாழ்வதாகும், எனவே வாடிக்கையாளர் கட்டணம் செலுத்தாமல் இலவச கண்டுபிடிப்பு மற்றும் மெட்டாடேட்டா கருவிகளைப் பயன்படுத்தலாம். உண்மையில் பிரீமியம் வளங்களைப் பயன்படுத்தும் கருவிகளுக்காக மட்டுமே 402 ஐ உருவாக்குங்கள்; மற்றவற்றை சாதாரண முடிவுகளாக விட்டு விடுங்கள்.

requirePayment என்பது ஒரு builder, middleware அல்ல

requirePayment என்பது ஒரு pure function: tool unpaid ஆக இருக்கும்போது இதை call செய்கிறீர்கள், இது { status: 402, body } return செய்கிறது, மேலும் body-யை மீண்டும் வழங்குகிறீர்கள். இது உங்கள் handler-ஐ wrap செய்யாது, யார் paid என்பதையும் track செய்யாது. இதற்கு amountUsdc, payTo, hostedUrl, மற்றும் விருப்பமான network மற்றும் description மட்டுமே தேவை - வேறு எதுவும் இல்லை. caller paid செய்தாரா என்பது உங்கள் சொந்த store-ஐ எதிர்த்து நீங்கள் run செய்யும் check.

அனுப்பிய ரசீது கச்சா இல்லை

Blockchain0x 402 கட்டுமானம் மற்றும் தீர்வு webhook ஐ அனுப்புகிறது, ஒரு ரசீது-அங்கீகார உதவியாளர் அல்ல. 'இந்த அழைப்பாளர் செலுத்தியது' எங்கு வாழ்கிறது என்பதை நீங்கள் தீர்மானிக்கிறீர்கள் - ஒரு தரவுத்தொகுப்பு வரிசை, ஒரு Redis விசை, ஒரு தனி செயலுக்கு நினைவில் உள்ள வரைபடம் - மற்றும் நீங்கள் கட்டணம் பெற்ற webhook வந்தால் அதை மாற்றுகிறீர்கள். இது கொள்கையை (ஒரு கட்டணம் எவ்வளவு நேரம் அணுகலை வழங்குகிறது) முழுமையாக உங்கள் கைகளில் வைத்திருக்கிறது.

வாடிக்கையாளர் வைத்திருக்கிறேன் என்று கூறும் ரசீதை நம்புதல்

அழைப்பாளருக்கு அது செலுத்தியது என்று உறுதிப்படுத்த அனுமதிக்காதீர்கள். உண்மையின் மூலமாக payment.received webhook ஆகும், உங்கள் webhook ரகசியத்திற்கு எதிராக webhooks.verify (அல்லது ஆவணமான HMAC) உடன் சரிபார்க்கப்படுகிறது. ஒரு சரிபார்க்கப்பட்ட நிகழ்வுக்குப் பிறகு மட்டுமே செலுத்துபவரை செலுத்தியது எனக் குறிக்கவும், அந்த சர்வர்-பக்கம் மாநிலத்தில் கருவியை கட்டுப்படுத்தவும் - கிளையண்ட் அனுப்பும் எதிலும் இல்லை.

பணம் செலுத்திய கருவியின் தாமதத்தில் எந்த அளவீடுகளும் இல்லை

வாடிக்கையாளர் மற்றும் கருவி செயல்பாட்டிற்கிடையில் ஒரு பணம் செலுத்தும் படியை வைக்கும்போது, முதல் அழைப்பில் பணம் செலுத்துவதற்கும் தீர்வுக்கு எடுத்துக்கொள்ளும் நேரத்தைச் சேர்க்கிறது, பின்னர் நீங்கள் அதை பணம் செலுத்தியதாகக் குறித்த பிறகு அருகிலுள்ள பூஜ்யமாகும். வாடிக்கையாளர் குறைபாடுகளைப் புகாரளிக்கும்போது, 'கருவி மெதுவாக உள்ளது' என்பதையும் 'பணம் செலுத்துவது மெதுவாக உள்ளது' என்பதையும் நீங்கள் கூறலாம். அளவீடு இல்லாமல், நீங்கள் தடையை தவறாக கண்டறிவீர்கள்.

அடுத்த படிகள்

ஒரு முறை கட்டணம் செலுத்திய போக்குவரத்து ஓடுகிறது.

பணமீட்டல் உள்ளதுடன், மிகவும் பயனுள்ள பின்விளைவுகள் நம்பகமான வெப்கோக் கையாளுதல் (எனவே நீங்கள் பணம் செலுத்தும் நிகழ்வுகளை தவறவிட மாட்டீர்கள்), செலவுக்கான கட்டுப்பாடுகள் (எனவே நீங்கள் மற்ற முகவர்களுக்கு பணம் செலுத்தும் MCP சேவையகம் கட்டியிருந்தால், அது கட்டுப்பாட்டில் இருக்கும்), மற்றும் ஒரு சோதனை நெட்வொர்க் முதலில் ஓட்டம் (எனவே நீங்கள் உண்மையான பணத்தை எரிக்காமல் விலை மாற்றங்களை அனுப்பலாம்).

முழு API குறிப்பு docs.blockchain0x.com இல் உள்ளது. தொடர்புடைய தயாரிப்பு மேற்பரப்பு: MCP ஒருங்கிணைப்பு.

கடைசி மதிப்பீடு: 2026-05-15. CC BY 4.0 இன் கீழ் வெளியிடப்பட்டது.

கருவி அழைப்புக்கு கட்டணம் செலுத்தவும்.

402 ஐ திருப்பவும், உங்கள் விலையை அமைக்கவும், USDC ஐ ஏற்கவும். தொடங்குவதற்கு இலவசம்.