মুখ্য সামগ্ৰীৰ পৰা এৰাই চাওক
শিক্ষাগাইডআপোনাৰ MCP ছাৰ্ভাৰ মোনেটাইজ কৰক
মাৰ্গদৰ্শক

১০ মিনিটত আপোনাৰ MCP ছাৰ্ভাৰ মোনেটাইজ কৰক।

10 মিনিট
ছোট উত্তৰ

Install @blockchain0x/mcp, আৰু এটা প্ৰিমিয়াম টুলৰ ভিতৰত requirePayment কল কৰক যেতিয়া কলকাৰী পেমেন্ট কৰা নাই - ই এটা হোস্ট কৰা চেকআউট URLৰ সৈতে x402 402 চেলেঞ্জ মিণ্ট কৰে, যি আপুনি উভতি দিয়ে। একবাৰৰ বাবে payment.received ৱেবহুক সমাধান নিশ্চিত কৰিলে, আপুনি আপোনাৰ নিজৰ ষ্টোৰত কলকাৰীক পেমেন্ট কৰা বুলি চিহ্নিত কৰে আৰু টুলটো চলে। বিনামূলীয়া টুলসমূহ বিনামূলীয়াকৈ থাকে। এটা সাধাৰণ HTTP ছাৰ্ভাৰৰ বাবে, গ্ৰহণ-পক্ষৰ x402 এডাপ্টৰে একে কাম কৰে।

পূৰ্বশর্ত

আপুনি আৰম্ভ কৰাৰ আগতে।

  • এখন কাৰ্যক্ষম MCP চাৰ্ভাৰ যিয়ে Node বা Pythonত চৰকাৰী Model Context Protocol SDK ব্যৱহাৰ কৰে। যদি আপোনাৰ এতিয়াও এটি নাই, তেন্তে প্ৰথমে ওপৰৰ টেম্প্লেটৰ সৈতে এটি স্কাফোল্ড কৰক।
  • এখন Blockchain0x একাউণ্ট আৰু এখন এজেন্ট প্ৰফাইল (৫-মিনিটৰ ছেটআপৰ বাবে add-payments-to-agent guide চাওক)।
  • এখন API চাবি (এই গাইডৰ বাবে sk_test_ ব্যৱহাৰ কৰক)।
  • এখন সৰু ষ্টোৰ যি স্মৰণ কৰে কাক পেমেণ্ট কৰা হৈছে (এখন ডেটাবেচ ৰো বা এখন Redis চাবি) - আপোনাৰ কোডে ইয়াক অধিকার কৰে, পেমেণ্ট ৱেবহুকৰ দ্বাৰা আপডেট কৰা হয়।
  • আপুনি যি সঁজুলি বাবে মূল্য ল'ব বিচাৰে আৰু প্ৰতি কলৰ মূল্যৰ এটা স্পষ্ট অনুভৱ। ডিজাইন পেটাৰ্ণৰ বাবে পেইড MCP টুল গ্ল'ছাৰী প্ৰৱেশ চাওক।
৪ৰ ১ নম্বৰ পদক্ষেপ

পেকেজ ইনষ্টল কৰক।

@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
৪ৰ ২ নম্বৰ পদক্ষেপ

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"
}
৪ৰ ৩ নম্বৰ পদক্ষেপ

পেমেন্ট নিশ্চিত কৰক, তাৰপিছত কাক পেমেন্ট কৰিছে সেয়া মনত ৰাখক।

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.

Webhook handler (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");
});

এটা পেমেন্টে কিমান সময়ৰ বাবে প্ৰৱেশাধিকাৰ দিয়ে সেয়া আপোনাৰ সিদ্ধান্ত - এটা একক কল, এটা অধিবেশন, এটা ঘণ্টা। যি উপায়ে আপুনি টুলৰ মূল্য নিৰ্ধাৰণ কৰে, তাৰ সৈতে মিলে যোৱা পেইড-ষ্টেট চাবিৰ এক্সপায়াৰী নিৰ্ধাৰণ কৰক। যথেষ্ট দীঘল যাতে এটা সাধাৰণ অধিবেশন এটা পেমেন্ট পুনৰ ব্যৱহাৰ কৰে, যথেষ্ট চুটি যাতে অপব্যৱহাৰ সীমাবদ্ধ থাকে।

৪ৰ ৪ নম্বৰ পদক্ষেপ

ডিপ্লয় আৰু প্ৰমাণীকৰণ কৰক।

ছাৰ্ভাৰখন প্ৰেৰণ কৰক। মুকলি সঁজুলি এতিয়াও তৎক্ষণাত ফলাফল উভতি দিব; গেটেড সঁজুলি নতুন ক্লায়েন্টৰ পৰা প্ৰথম কলত 402 বডি উভতি দিব, তাৰ পিছত সেই কলাৰজনক পেইড হিচাপে চিহ্নিত কৰাৰ পিছত চলাব। লাইভ হোৱাৰ আগতে Base Sepoliaৰ বিৰুদ্ধে sk_test_ কীত দুয়োটা পথৰ সত্যতা পৰীক্ষা কৰক।

প্ৰথম দিনত চাবলগীয়া দুটা সংকেত: 402s ৰ সংখ্যা যি উভতি আহে (আপোনাৰ শীৰ্ষ-ফানেল) আৰু 402ৰ পাছত সফল টুল চলাৰ সংখ্যা (আপোনাৰ ৰূপান্তৰ)। যদি ৰূপান্তৰ আশা কৰা তুলনাত বহুত কম হয়, তেন্তে মূল্য সম্ভৱতঃ ভুল। আপোনাৰ পেইড-ষ্টেট ষ্টোৰৰ হিট ৰেটো চাওক - যদি ই শূন্যৰ ওচৰত থাকে, আপোনাৰ প্ৰৱেশৰ সময়সীমা খুব সৰু আৰু পেমেন্ট কৰা কলাৰক পুনৰ পেমেন্ট কৰিবলৈ সোধা হৈছে।

সাধাৰণ বিপদ

পাঁচটা কথা যি প্ৰথমবাৰৰ বাবে MCP মুনাফা কৰা লোকক সমস্যা সৃষ্টি কৰে।

অৱসৰতে মুক্ত টুলসমূহ গেট কৰা

প্ৰত্যেক টুল 'মাত্ৰ ক্ষেত্ৰত' গেট কৰিবলৈ লোভনীয়। নকৰিব। পেইড MCP ছাৰ্ভাৰৰ সম্পূৰ্ণ মূল্য হৈছে যে বিনামূলীয়া টুলসমূহ পেইডৰ সৈতে একে ছাৰ্ভাৰত সহবাস কৰে, সেয়ে ক্লায়েন্টে বিনামূলীয় আবিষ্কাৰ আৰু মেটাডাটা টুলসমূহ ব্যৱহাৰ কৰিব পাৰে বিনামূল্যে। মাত্ৰ সেই টুলসমূহৰ বাবে 402 মিণ্ট কৰক যিয়ে বাস্তৱতে প্ৰিমিয়াম সম্পদ খৰচ কৰে; বাকীসমূহক সাধাৰণ ফলাফল হিচাপে এৰি দিয়ক।

requirePayment হৈছে এটা নিৰ্মাতা, মিডলৱেৰ নহয়

requirePayment হৈছে এটা বিশুদ্ধ ফাংশন: আপুনি ইয়াক তেতিয়া কল কৰে যেতিয়া এটা টুল অব্যৱহৃত থাকে, ই { status: 402, body } উলিয়ায়, আৰু আপুনি শৰীৰটো উলিয়ায়। ই আপোনাৰ হেণ্ডলাৰটো মুড়ি নকৰে আৰু কাক পেমেন্ট কৰিছে সেয়া পৰ্যবেক্ষণ নকৰে। ই amountUsdc, payTo, hostedUrl, আৰু এটা ঐচ্ছিক নেটৱৰ্ক আৰু বৰ্ণনা গ্ৰহণ কৰে - আন কিছু নহয়। কলাৰজনৰ পেমেন্ট হৈছে নেকি সেয়া আপোনাৰ নিজৰ ষ্টোৰৰ বিৰুদ্ধে আপুনি চলোৱা এটা পৰীক্ষা।

পঠিওৱা ৰিছিপ্ট কেচৰ কোনো অস্তিত্ব নাই

Blockchain0x 402 নিৰ্মাতা আৰু চুক্তি ৱেবহুক প্ৰেৰণ কৰে, এটা ৰিছিপ্ট-ষ্টোৰ সহায়কৰূপে নহয়। আপুনি সিদ্ধান্ত লয় 'এই কলাৰ পেমেন্ট কৰিছে' ক'ত থাকে - এটা ডেটাবেছ ৰো, এটা Redis কী, এটা একক প্ৰক্ৰিয়াৰ বাবে মেম'ৰী মানচিত্র - আৰু আপুনি ইয়াক উল্টাই দিয়ে যেতিয়া payment.received ৱেবহুক আহে। সেয়া নীতি (কিমান সময়ৰ বাবে এটা পেমেন্ট প্ৰৱেশাধিকাৰ দিয়ে) সম্পূৰ্ণৰূপে আপোনাৰ হাতত ৰাখে।

গ্ৰাহকে যি ৰিছিপ্টৰ দাবী কৰে তাত বিশ্বাস কৰা

কলাৰক পেমেন্ট কৰিছে বুলি দাবী কৰিবলৈ নিদিয়ক। সত্যৰ উৎস হৈছে payment.received ৱেবহুক, যি webhooks.verify (অথবা নথিবদ্ধ HMAC)ৰ সৈতে আপোনাৰ ৱেবহুক গোপনীয়তাৰ বিপৰীতে নিশ্চিত কৰা হয়। এটা নিশ্চিত কৰা ইভেন্টৰ পিছত মাৰ্ক কৰক যে পেমেন্ট কৰা হৈছে, আৰু সেই ছাৰ্ভাৰ-পৰ্যায়ৰ অৱস্থাত টুলটো গেট কৰক - ক্লায়েন্টে পঠিয়োৱা কিছুমানৰ ওপৰত কেতিয়াও নহয়।

পেইড-টুলৰ লেটেন্সিত কোনো মেট্ৰিক নাই

ক্লায়েন্ট আৰু টুল কাৰ্যন্বয়ৰ মাজত এটা পেমেন্ট পদক্ষেপ ৰাখিলে প্ৰথম কলত পেমেন্ট আৰু চূড়ান্ত কৰিবলৈ কলাৰটোৰ সময় যোগ হয়, তাৰ পিছত আপোনাৰ পেমেন্ট চিহ্নিত কৰাৰ পাছত প্ৰায় শূন্য। দুয়োটা শাখাক যন্ত্ৰপাতি কৰক যাতে আপুনি গ্ৰাহকে অভিযোগ কৰিলে 'টুল ধীৰ' আৰু 'পেমেন্ট ধীৰ'ৰ মাজত পাৰ্থক্য কৰিব পাৰে। মেট্ৰিক নথকা অৱস্থাত আপুনি বটলনেকৰ ভুল নিৰ্ণয় কৰিব।

পৰৱৰ্তী পদক্ষেপ

এবাৰ পেইড ট্ৰাফিক বগা হৈছে।

মোনেটাইজেশ্যন স্থাপন কৰাৰ সৈতে, আটাইতকৈ ব্যৱহাৰিক অনুসৰণসমূহ হৈছে নিৰ্ভৰযোগ্য ৱেবহুক ব্যৱস্থাপনা (যেনে আপুনি পেমেন্ট ঘটনাসমূহ মিছ নকৰে), খৰচ নিয়ন্ত্ৰণ (যেনে আপুনি নিৰ্মাণ কৰা MCP ছাৰ্ভাৰে আন এজেণ্টকো পেমেন্ট কৰে), আৰু এটা টেষ্টনেট-প্ৰথম প্ৰবাহ (যেনে আপুনি বাস্তৱ ধন জ্বলাই নাথাকাকৈ মূল্য পৰিৱৰ্তন প্ৰেৰণ কৰিব পাৰে)।

পূৰ্ণ API উল্লেখ docs.blockchain0x.comত। সম্পৰ্কিত প্ৰডাক্ট পৃষ্ঠ: MCP integration.

শেষ পৰ্যালোচনা: 2026-05-15। CC BY 4.0ৰ অধীনত প্ৰকাশিত।

প্ৰত্যেক টুল কলৰ বাবে মাচুল লোৱা।

402 উভতাও, আপোনাৰ মূল্য স্থাপন কৰক, USDC গ্ৰহণ কৰক। আৰম্ভ কৰিবলৈ মুক্ত।