AI ਏਜੰਟ ਕੋਡ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਭੁਗਤਾਨ API।
ਇੱਕ ਛੋਟੀ REST API. ਸਾਈਨ ਕੀਤੇ webhook. ਪੰਜ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਅਧਿਕਾਰਕ SDKs. ਇਸ ਤਰ੍ਹਾਂ ਬਣਾਇਆ ਗਿਆ ਕਿ ਤੁਹਾਡਾ ਏਜੰਟ USDC ਭੇਜ ਸਕਦਾ ਹੈ ਅਤੇ ਸਮਾਪਤ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਕੁਝ ਲਾਈਨਾਂ ਦੇ ਕੋਡ ਵਿੱਚ ਭੁਗਤਾਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦਾ ਹੈ.

Blockchain0x API ਜਾਣਬੂਝ ਕੇ ਛੋਟੀ ਰੱਖੀ ਗਈ ਹੈ। ਅਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ ਤੁਸੀਂ ਆਪਣੀ ਪਹਿਲੀ payment ਕਰਨ ਲਈ ਇੱਕ ਘੰਟਾ documentation ਪੜ੍ਹੋ। ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ snippet copy ਕਰੋ, ਆਪਣੀ API key paste ਕਰੋ, ਅਤੇ ਇਸਨੂੰ ਚਲਾ ਦਿਓ।
ਇੱਕ ਛੋਟੀ ਸਤਹ, ਏਜੰਟ ਕੋਡ ਲਈ ਬਣਾਈ ਗਈ.
Payment-shaped routes ਹੇਠਾਂ ਹਨ। Webhooks, api-keys, ਅਤੇ read-only spend-permissions surface ਨੂੰ ਪੂਰਾ ਕਰਦੇ ਹਨ; SDK ਇਹ ਸਭ ਕੁਝ wrap ਕਰਦਾ ਹੈ।
/v1/paymentsਏਜੰਟ ਵਾਲਿਟ ਤੋਂ USDC ਭੁਗਤਾਨ ਭੇਜੋ/v1/transactions/{id}ਇੱਕ ਲੈਣ-ਦੇਣ ਦੀ ਸਥਿਤੀ ਅਤੇ ਹੈਸ਼ ਫੈਚ ਕਰੋ/v1/payment-requests/{id}/settleਓਨ-ਚੇਨ ਸਬੂਤ ਨਾਲ ਇੱਕ ਚਾਲਾਨ ਨੂੰ ਸੈਟਲ ਕਰੋ/v1/agents/{id}ਏਜੰਟ ਵਾਲਿਟ ਫੈਚ ਕਰੋ/v1/agentsਏਜੰਟ ਵਾਲਿਟ ਬਣਾਓਸਾਰੇ HMAC-SHA256 ਨਾਲ ਦਸਤਖਤ ਕੀਤੇ ਗਏ।
ਦਸਤਖਤ ਵਿੱਚ X-Blockchain0x-Signature ਹੈਡਰ। 5 ਮਿੰਟ ਦਾ ਰੀਪਲੇ ਵਿੰਡੋ। ਹਰ POST 'ਤੇ Idempotency ਕੁੰਜੀਆਂ।
payment.receivedUSDC ਤੁਹਾਡੇ ਇੱਕ ਏਜੰਟ ਵਾਲਿਟ ਵਿੱਚ ਲੈਂਡ ਹੋ ਗਿਆ
payment.sentਤੁਹਾਡੇ ਏਜੰਟ ਤੋਂ ਬਾਹਰ ਜਾਣ ਵਾਲਾ ਭੁਗਤਾਨ ਚੇਨ 'ਤੇ ਨਿਪਟ ਗਿਆ
wallet.deployedਇੱਕ ਏਜੰਟ ਦਾ ਸਮਾਰਟ ਵੈਲਟ ਤਾਇਨਾਤ ਕੀਤਾ ਗਿਆ
webhook.testਇੱਕ ਟੈਸਟ ਡਿਲਿਵਰੀ ਜੋ ਤੁਸੀਂ ਡੈਸ਼ਬੋਰਡ ਤੋਂ ਚਾਲੂ ਕੀਤੀ
ਤੁਹਾਡੇ ਏਜੰਟ ਦੇ ਵਾਲਿਟ ਤੋਂ USDC ਭੇਜੋ।
from blockchain0x import Client
client = Client(api_key="sk_test_...") # sk_test_ testnet, sk_live_ mainnet
tx = client.payments.create(body={
"agentId": "agt_123",
"to": "0xRecipient",
"amountWei": "10000", # USDC base units (6 decimals): 0.01 USDC
})
print(tx) # may return 503 until the chain adapter is wired for your networkTypeScript ਅਤੇ Python ਲਈ ਟਾਈਪ ਕੀਤੇ ਗਾਹਕ।
npm install @blockchain0x/nodeNode 18+ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ। ਮੂਲ TypeScript ਕਿਸਮਾਂ।
pip install blockchain0xPython 3.9+. ਸਿੰਕ ਅਤੇ ਐਸਿੰਕ ਕਲਾਇੰਟ।
ਉਹ request bodies ਜਿਨ੍ਹਾਂ ਨੂੰ SDK wrap ਕਰਦਾ ਹੈ।
ਇਹ ਹਰ ਰੂਟ ਲਈ ਪ੍ਰਮਾਣਿਤ ਇਨਪੁਟ ਹਨ। ਜਵਾਬ ਇੱਥੇ ਛੋਟੇ ਦਿਖਾਏ ਗਏ ਹਨ; ਪੂਰੀ ਟਾਈਪ ਕੀਤੀ ਸ਼ੇਪ SDK ਅਤੇ API ਹਵਾਲੇ ਵਿੱਚ ਜੀਵੰਤ ਹਨ। ਰਕਮ USDC ਬੇਸ ਯੂਨਿਟ (6 ਦਸ਼ਮਲਵ) ਹਨ।
/v1/paymentsUSDC ਭੁਗਤਾਨ ਭੇਜੋ (payments.create)। amountWei USDC ਬੇਸ ਯੂਨਿਟ ਹਨ (6 ਦਸ਼ਮਲਵ)। ਚੇਨ ਐਡਾਪਟਰ ਵਾਇਰਡ ਹੋਣ ਤੱਕ 503 ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ।
{
"agentId": "agt_123",
"to": "0xRecipient",
"amountWei": "10000",
"metadata": { "reason": "Research report" }
}{
"txHash": "0xff5...e12"
}/v1/payment-requests/{id}/settleਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਬਣਾਈ ਗਈ ਭੁਗਤਾਨ ਬੇਨਤੀ (ਚਾਲਾਨ) ਨੂੰ ਸੈਟਲ ਕਰੋ, ਓਨ-ਚੇਨ ਸਬੂਤ (paymentRequests.settle) ਨਾਲ। ਕੋਈ ਬਣਾਉਣ ਦਾ ਰਸਤਾ ਨਹੀਂ ਹੈ - ਸੈਟਲ ਹੀ।
{
"txHash": "0xff5...e12",
"payerAddress": "0xBuyer...",
"amountUsdcVerified": "0.10"
}{
"txHash": "0xff5...e12"
}/v1/transactions/{id}id ਦੁਆਰਾ ਇੱਕ ਇਕਲ ਲੈਣ-ਦੇਣ ਫੈਚ ਕਰੋ (transactions.get)।
(no body){
"id": "tx_01J9...",
"txHash": "0xff5...e12"
}/v1/agents/{id}ਏਜੰਟ ਵਾਲਿਟ ਫੈਚ ਕਰੋ (agents.get)। ਇਸਦੀ ਜਨਤਕ ਪੇਜ wallet.blockchain0x.com/a/{slug} 'ਤੇ ਹੈ।
(no body){
"id": "agt_01J9QKE...",
"name": "research-bot",
"public_url": "https://wallet.blockchain0x.com/a/research-bot"
}/v1/agents/{id}/spend-permissionsਏਜੰਟ ਦੀ ਖਰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਪੜ੍ਹੋ। API ਰਾਹੀਂ READ-ONLY - ਬਣਾਉਣਾ ਅਤੇ ਬਦਲਾਅ ਸਿਰਫ ਡੈਸ਼ਬੋਰਡ 'ਤੇ ਹਨ।
(no body){
"allowance_wei": "5000000",
"per_tx_wei": "1000000",
"period_seconds": 86400,
"start_at": "2026-05-15T00:00:00Z",
"revoked_at": null
}ਹਮੇਸ਼ਾ ਪੇਲੋਡ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
ਕੋਈ ਵੀ ਤੁਹਾਡੇ ਕਾਲਬੈਕ URL 'ਤੇ POST ਕਰ ਸਕਦਾ ਹੈ। ਦਸਤਖਤ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਘਟਨਾ ਵਾਸਤਵ ਵਿੱਚ ਸਾਡੇ ਤੋਂ ਆਈ ਸੀ।
ਹਰ ਡਿਲਿਵਰੀ ਵਿੱਚ ਇੱਕ X-Blockchain0x-Signature ਹੈਡਰ (t=<unix>,v1=<hex>) - ਇੱਕ HMAC-SHA256 ਸਤਰ `${t}.${rawBody}` 'ਤੇ ਤੁਹਾਡੇ ਵੈਬਹੂਕ ਗੁਪਤ ਕੋਡ ਨਾਲ, 5 ਮਿੰਟ ਦੇ ਦੁਹਰਾਉਣ ਵਾਲੇ ਵਿੰਡੋ ਦੇ ਅੰਦਰ। ਨੋਡ ਵਿੱਚ, @blockchain0x/node ਤੋਂ webhooks.verify ਇਹ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਵਿਭਾਜਿਤ ਯੂਨੀਅਨ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਸ਼ਾਖਾ ਬਣਾਉਂਦੇ ਹੋ। ਹੋਰ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ, ਇੱਕੋ HMAC ਦੀ ਗਣਨਾ ਕਰੋ ਅਤੇ ਸਥਿਰ ਸਮੇਂ ਵਿੱਚ ਤੁਲਨਾ ਕਰੋ। RAW ਬਾਡੀ ਪੜ੍ਹੋ, ਨਾ ਕਿ ਪਾਰਸ ਕੀਤੀ ਕਾਪੀ - ਦੁਬਾਰਾ ਸਿਰਜਣਾ ਦਸਤਖਤ ਨੂੰ ਤੋੜ ਦਿੰਦਾ ਹੈ।
import express from "express";
import { webhooks } from "@blockchain0x/node";
const app = express();
// Capture the RAW body. The HMAC is over the exact bytes on the wire.
app.use(express.raw({ type: "application/json" }));
app.post("/webhooks/payment", (req, res) => {
const result = webhooks.verify({
headers: req.headers,
rawBody: req.body, // Buffer, raw bytes
secret: process.env.BLOCKCHAIN0X_WEBHOOK_SECRET!,
});
if (!result.ok) return res.status(400).json({ code: result.code });
// result.eventType is "payment.received" | "payment.sent" | ...
handleEvent(result);
res.status(200).send("ok");
});import hmac, hashlib, os, time
from flask import Flask, request, abort
app = Flask(__name__)
SECRET = os.environ["BLOCKCHAIN0X_WEBHOOK_SECRET"].encode()
@app.post("/webhooks/payment")
def receive():
raw = request.get_data() # RAW bytes - do not parse first
sig = request.headers.get("X-Blockchain0x-Signature", "")
ts = request.headers.get("X-Blockchain0x-Timestamp", "")
# Header is "t=<unix>,v1=<hex>"; some proxies send bare hex + the ts header.
parts = dict(p.split("=", 1) for p in sig.split(",") if "=" in p)
t, v1 = parts.get("t", ts), parts.get("v1", sig)
want = hmac.new(SECRET, t.encode() + b"." + raw, hashlib.sha256).hexdigest()
if not hmac.compare_digest(want, v1) or abs(time.time() - int(t)) > 300:
abort(401)
handle_event(request.headers.get("X-Blockchain0x-Event-Type"), request.get_json())
return "ok", 200Webhook secret ਇੱਕ ਵਾਰ ਮਿਲਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ webhook ਬਣਾਉਂਦੇ ਜਾਂ rotate ਕਰਦੇ ਹੋ (webhooks.rotateSecret), ਅਤੇ BLOCKCHAIN0X_WEBHOOK_SECRET ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਤੁਹਾਡਾ handler ਇਸਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। Rotate ਕਰਨ ਨਾਲ ਪੁਰਾਣਾ secret ਅਣਵੈਧ ਹੋ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ rollout ਦਾ ਤਾਲਮੇਲ ਰੱਖੋ: ਨਵਾਂ secret ਆਪਣੇ server ਦੇ env ਵਿੱਚ ਸੈੱਟ ਕਰੋ, deploy ਕਰੋ, ਫਿਰ rotate ਕਰੋ। ਸ਼ਿਪ ਕੀਤੇ events ਹਨ payment.received, payment.sent, wallet.deployed, ਅਤੇ webhook.test - event type ਦੇ ਅਧਾਰ 'ਤੇ branch ਕਰੋ, ਬਾਕੀ ਸਭ ਨੂੰ ignore ਕਰੋ।
ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। API ਦੋ ਵਾਰੀ ਭੁਗਤਾਨ ਨਹੀਂ ਕਰੇਗਾ।
ਏਜੰਟ ਕੋਡ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਛੱਡ ਦਿੰਦੇ ਹਨ। LLMs ਟੂਲ ਨੂੰ ਦੋ ਵਾਰੀ ਬੁਲਾਉਣ ਦਾ ਫੈਸਲਾ ਕਰਦੇ ਹਨ। ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਉਣ ਲਈ, ਭੇਜੋ ਇੱਕ Idempotency-Key POST 'ਤੇ ਹੈਡਰ। SDK ਵਿੱਚ payments.create ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਸਥਿਰ ਇੱਕ ਆਟੋ-ਮਿੰਟ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਦੁਬਾਰਾ ਕੀਤੀ ਗਈ ਕਾਲ ਇੱਕ ਹੀ ਓਨ-ਚੇਨ ਜਮ੍ਹਾਂ 'ਤੇ ਸਹਾਰਾ ਦਿੰਦੀ ਹੈ ਬਜਾਏ ਦੋ ਵਾਰੀ ਭੁਗਤਾਨ ਕਰਨ ਦੇ। ਜਦੋਂ ਤੁਸੀਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਵਿੱਚ ਇੱਕੋ ਲਾਜ਼ਮੀ ਕਾਰਵਾਈ ਨੂੰ ਦੁਬਾਰਾ ਨਾ ਕਰਨ ਦੀ ਇੱਛਾ ਰੱਖਦੇ ਹੋ ਤਾਂ ਇਸਨੂੰ ਆਪਣੇ ਆਪਣੇ ਕੁੰਜੀ ਨਾਲ ਓਵਰਰਾਈਡ ਕਰੋ।
curl -X POST https://api.blockchain0x.com/v1/payments \
-H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY" \
-H "Idempotency-Key: 8e2c3a40-pay-vendor-once" \
-H "Content-Type: application/json" \
-d '{ "agentId": "agt_123", "to": "0xRecipient", "amountWei": "10000" }'- ਪਹਿਲੀ ਕਾਲ: ਭੁਗਤਾਨ ਨੂੰ ਜਮ੍ਹਾਂ ਕਰਦਾ ਹੈ, ਲੈਣ-ਦੇਣ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ।
- ਇੱਕੋ ਕੁੰਜੀ ਨਾਲ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ: ਦੋ ਵਾਰੀ ਭੁਗਤਾਨ ਕਰਨ ਦੀ ਬਜਾਏ ਇੱਕ ਚੇਨ ਸਬਮਿਸ਼ਨ ਵਿੱਚ ਢਲ ਜਾਂਦਾ ਹੈ।
- SDK ਇਸਨੂੰ handle ਕਰਦਾ ਹੈ: payments.create ਇੱਕ ਸਥਿਰ Idempotency-Key ਨੂੰ ਆਟੋ-ਮਿੰਟ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਦੁਬਾਰਾ ਕੀਤੀ ਗਈ ਕਾਲ ਬਾਕਸ ਤੋਂ ਬਾਹਰ ਸੁਰੱਖਿਅਤ ਹੈ।
- ਇਸ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰੋ: ਜਦੋਂ ਤੁਸੀਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਵਿੱਚ ਇੱਕੋ ਹੀ ਤਰਕਾਤਮਕ ਕਾਰਵਾਈ ਨੂੰ ਡਿਡਿਊਪ ਕਰਨ ਦੀ ਇੱਛਾ ਰੱਖਦੇ ਹੋ ਤਾਂ ਆਪਣੀ ਕੁੰਜੀ ਪਾਸ ਕਰੋ।
ਸਿਫਾਰਸ਼ੀ ਪੈਟਰਨ ਇਹ ਹੈ ਕਿ ਆਪਣੇ agent code ਵਿੱਚ ਹਰ logical operation ਲਈ ਇੱਕ UUID ਬਣਾਓ (ਉਦਾਹਰਨ ਲਈ, "pay vendor X for order Y" ਲਈ ਇੱਕ UUID) ਅਤੇ operation ਸਫਲ ਹੋਣ ਤੱਕ retries ਵਿੱਚ ਉਸੇ ਨੂੰ ਦੁਬਾਰਾ ਵਰਤੋ। ਜੇ ਤੁਸੀਂ payments.create ਲਈ ਇਹ specify ਨਹੀਂ ਕਰਦੇ, ਤਾਂ official SDKs ਆਪਣੇ ਆਪ ਇੱਕ UUID generate ਕਰ ਦਿੰਦੇ ਹਨ।
ਤੁਹਾਡੀ ਸੀਮਾ ਜਵਾਬ ਤੋਂ ਪੜ੍ਹੋ, ਕਿਸੇ ਟੇਬਲ ਤੋਂ ਨਹੀਂ।
ਸੀਮਾਵਾਂ ਤੁਹਾਡੇ ਯੋਜਨਾ ਨਾਲ ਮਾਪਦੰਡ ਹਨ। ਜੋ ਨੰਬਰਾਂ ਨੂੰ ਸਖਤ-ਕੋਡ ਕਰਨ ਦੀ ਬਜਾਏ ਜੋ ਭਟਕਦੇ ਹਨ, ਹਰ ਜਵਾਬ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਖੜੇ ਹੋ ਅਤੇ SDKs ਤੁਹਾਡੇ ਲਈ ਬੈਕਆਫ਼ ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ।
ਹਰ ਸਫਲਤਾ ਦੇ ਜਵਾਬ 'ਤੇ ਹੈਡਰ
X-RateLimit-Limit: ਤੁਹਾਡੇ ਯੋਜਨਾ ਦੀ ਸਥਿਰ ਦਰX-RateLimit-Remaining: ਇਸ ਵਿੰਡੋ ਵਿੱਚ ਕਿੰਨੇ ਕਾਲਾਂ ਬਾਕੀ ਹਨX-RateLimit-Reset: ਯੂਨਿਕਸ ਸਕਿੰਡ ਜਦੋਂ ਵਿੰਡੋ ਰੀਸੈਟ ਹੁੰਦੀ ਹੈ
ਜਦੋਂ ਤੁਸੀਂ ਕੈਪ ਨੂੰ ਹਿੱਟ ਕਰਦੇ ਹੋ (HTTP 429)
- ਜਵਾਬ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ
Retry-Afterਸਕਿੰਟਾਂ ਵਿੱਚ - Official SDKs 429 ਅਤੇ 5xx 'ਤੇ exponential backoff ਨਾਲ retry ਕਰਦੇ ਹਨ, Retry-After ਨੂੰ honour ਕਰਦੇ ਹੋਏ
- ਜ਼ਿਆਦਾਤਰ ਕੋਡ ਕਦੇ ਵੀ 429 ਨੂੰ ਹੱਥ ਨਾਲ ਨਹੀਂ ਸੰਭਾਲਦਾ ਕਿਉਂਕਿ SDK ਪਹਿਲਾਂ ਹੀ ਕਰਦਾ ਹੈ
x402 ਨੂੰ ਧਾਰਾਪੂਰਕ ਬੋਲਦਾ ਹੈ। ਇਹ ਬਿਨਾਂ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ।
x402 HTTP-ਮੂਲ ਭੁਗਤਾਨਾਂ ਲਈ ਖੁਲਾ ਪ੍ਰੋਟੋਕੋਲ ਹੈ। ਧਾਰਨਾ: ਕੋਈ ਵੀ API ਜੋ 402 ਭੁਗਤਾਨ ਦੀ ਲੋੜ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜਵਾਬ ਵਿੱਚ ਭੁਗਤਾਨ ਦੀਆਂ ਲੋੜਾਂ ਦਾ ਪ੍ਰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਕਲਾਇੰਟ ਜੋ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸਮਝਦਾ ਹੈ, ਭੁਗਤਾਨ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦਾ ਹੈ - ਕੋਈ ਸਾਈਨਅਪ, ਕੋਈ API ਕੁੰਜੀ, ਕੋਈ ਬਾਹਰੀ ਮੋਲ-ਤੋਲ ਨਹੀਂ। Blockchain0x ਵਾਸਤਵਿਕ x402 ਪੈਕੇਜ ਭੇਜਦਾ ਹੈ: ਇੱਕ ਭੁਗਤਾਨ-ਪਾਸੇ ਦਾ ਕਲਾਇੰਟ ਅਤੇ ਪ੍ਰਾਪਤ-ਪਾਸੇ ਦੇ ਸਰਵਰ ਐਡਾਪਟਰ। ਅੱਜ ਦਾ ਇੱਕੋ ਹੀ ਯੋਜਨਾ exact-usdc ਹੈ, ਜੋ Base 'ਤੇ ਹੈ।
HTTP/1.1 402 Payment Required
Content-Type: application/json
{
"version": 1,
"resource": "https://api.example.com/paid-endpoint",
"accepts": [
{ "scheme": "exact-usdc", "network": "eip155:8453" }
]
}ਏਜੰਟ ਕਾਲਰ ਕੀ ਕਰਦਾ ਹੈ
- 402 body ਪੜ੍ਹਦਾ ਹੈ: version 1, resource, ਅਤੇ payment requirements ਦਾ non-empty accepts[] (scheme exact-usdc, network eip155:8453 Base ਲਈ)।
- ਇੱਕ payment ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ request ਨੂੰ X-Payment: exact-usdc:<base64(json)> header ਨਾਲ ਦੁਬਾਰਾ ਭੇਜਦਾ ਹੈ।
- Pay side 'ਤੇ, @blockchain0x/x402 ਤੋਂ createX402Client({ sdk }) ਇਹ ਕੰਮ ਤੁਹਾਡੇ ਲਈ ਕਰਦਾ ਹੈ - ਇਹ 402s ਦਾ ਆਪਣੇ ਆਪ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।
- ਤੁਹਾਡਾ server X-Payment header verify ਕਰਦਾ ਹੈ ਅਤੇ original request fulfill ਕਰਦਾ ਹੈ।
ਦੋਹਾਂ ਪਾਸੇ, ਅਸਲ ਪੈਕੇਜ
ਭੁਗਤਾਨ ਪਾਸੇ, createX402Client({ sdk }) @blockchain0x/x402 ਤੋਂ ਫੈਚ ਨੂੰ ਲਪੇਟਦਾ ਹੈ ਅਤੇ ਆਪਣੇ ਆਪ 402s ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਪ੍ਰਾਪਤ ਪਾਸੇ 'ਤੇ, createX402Plugin (Fastify) ਅਤੇ createX402Middleware (Express) ਆਪਣੇ ਆਪਣੇ ਐਂਡਪੋਇੰਟਸ ਨੂੰ ਗੇਟ ਕਰੋ। ਜਾਂ x402 ਨੂੰ ਛੱਡੋ ਅਤੇ ਸਿੱਧਾ REST API ਵਰਤੋਂ - ਦੋਹਾਂ ਮਿਲਦੇ ਹਨ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਜਦੋਂ ਤਿਆਰ ਹੋਵੋਗੇ ਤਾਂ x402 ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।