ขาย API ของคุณให้กับ AI agents.
ตัวแทน AI ไม่สามารถกรอกแบบฟอร์มบัตรเครดิตได้ พวกเขาสามารถชำระเงินให้คุณใน USDC Blockchain0x ทำการเรียก API นั้น
API ของคุณถูกออกแบบมาสำหรับมนุษย์ ผู้โทรของคุณตอนนี้เป็นเอเจนต์
ทศวรรษถัดไปของรายได้ API จะไม่มาจากการลงทะเบียนของมนุษย์ มันจะมาจากเอเจนต์ AI ที่เรียก API ในนามของผู้ใช้ของพวกเขา โดยมักจะเป็นโปรแกรมและไม่มีมนุษย์อยู่ในกระบวนการ เอเจนต์เหล่านั้นไม่สามารถใช้การชำระเงินที่มีอยู่ของคุณได้ พวกเขาไม่สามารถกรอกแบบฟอร์มบัตรเครดิต ไม่สามารถสร้างบัญชี ไม่สามารถคลิกอีเมลยืนยัน ไม่สามารถจำรหัสผ่านได้
สิ่งที่พวกเขาสามารถทำได้คืออ่านการตอบสนอง 402 Payment Required แยกจำนวน USDC และผู้รับออกจากเนื้อหา JSON ชำระเงินบน Base และออกคำเรียกใหม่พร้อมหลักฐานการชำระเงิน นี่คือรูปแบบทั้งหมดของการค้าขาย API ที่ขับเคลื่อนด้วยตัวแทน โมเดลค่าใช้จ่าย (การเรียกเก็บเงินต่อการโทรใน stablecoin) ยังเหมาะกับรูปแบบการใช้งานของตัวแทนได้ดีกว่าการสมัครสมาชิกที่ใช้บัตร: บัตรล้มเหลวที่ธุรกรรมต่ำกว่า $1; USDC บน Base มีค่าใช้จ่ายเพียงเซ็นต์ในก๊าซ; การคืนเงินไม่เกิดขึ้นระหว่างเครื่องจักร
Blockchain0x เป็นสะพาน เช็ครายการเส้นทางที่คุณต้องการเรียกเก็บเงินในตารางราคาและติดตั้งอะแดปเตอร์ x402 เมื่อการโทรที่ยังไม่ได้ชำระเงินเข้าถึงเส้นทางที่มีราคา อะแดปเตอร์จะส่งคืน 402 ที่อธิบายว่าต้องชำระเงินเท่าไร เอเจนต์ชำระเงินบน Base และลองใหม่ด้วยส่วนหัว X-Payment; อะแดปเตอร์จะตรวจสอบและตัวจัดการของคุณทำงาน คุณเก็บ USDC และเรียกใช้ API ของคุณตามปกติ ไม่มีอะไรเกี่ยวกับตรรกะทางธุรกิจของคุณเปลี่ยนแปลง; เลเยอร์การเรียกเก็บเงินทำงานควบคู่กัน.
รหัสสถานะ HTTP ในที่สุดก็มีการใช้งาน.
HTTP 402 was reserved in the original spec for "future use" and never standardized. For thirty years it sat unused while the internet built per-account subscription billing on top of 200/401/403. With Coinbase's x402 protocol, 402 finally has a standard implementation: any API that needs payment-before-it-runs can return a structured 402, and any client that understands the spec can pay and retry.
HTTP/1.1 402 Payment Required
Content-Type: application/json
{
"resource": "POST /api/expensive-operation",
"accepts": [
{
"scheme": "exact-usdc",
"network": "mainnet",
"chainId": "eip155:8453",
"payToAddress": "0xYourAgentWalletAddress",
"amountWeiUsdc": "500000",
"paymentRequestId": "pr_demo",
"maxAgeSeconds": 60
}
]
}ความหมายของความต้องการ accepts[]
- scheme - แผนการชำระเงิน exact-usdc หมายถึงจำนวน USDC ที่แน่นอนบนเครือข่าย EVM ลูกค้าจะจับคู่กับสิ่งนี้ก่อนที่จะชำระเงิน.
- network / chainId - เครือข่ายที่จะชำระ (mainnet คือ Base, CAIP-2 eip155:8453). การย้ายสามารถอ้างถึงทั้งสองเครือข่ายโดยการระบุข้อกำหนดสองข้อใน accepts.
- payToAddress / amountWeiUsdc - กระเป๋าเงินผู้รับและจำนวนที่แน่นอนในหน่วยพื้นฐาน USDC (500000 = 0.50 USDC, 6 ทศนิยม). ลูกค้าตรวจสอบทั้งสองก่อนที่จะชำระเงิน.
- paymentRequestId - เชื่อมโยงการชำระเงินกับการเสนอราคา ตัวเชื่อมจะปฏิเสธ X-Payment ที่อ้างอิงถึง paymentRequestId ที่แตกต่างจากเส้นทางที่อ้างถึง.
- maxAgeSeconds - การชำระเงินต้องสดใหม่เพียงใด การชำระเงินที่เก่ากว่าหน้าต่างนี้จะถูกปฏิเสธและผู้โทรจะต้องชำระเงินอีกครั้ง.
x402 เป็นการสื่อสารระหว่างเครื่อง: ลูกค้าที่รับรู้ x402 อ่าน accepts, ชำระเงินตามข้อกำหนดที่เลือกบน-chain จากนั้นออกคำขอใหม่ด้วย X-Payment header ที่ตัวปรับให้ตรวจสอบ ลูกค้าที่ไม่พูด x402 จะได้รับ 402 และไม่ได้ผลลัพธ์ใด ๆ ซึ่งเป็นผลลัพธ์ที่ถูกต้อง (การโทรไม่ได้ชำระเงิน) ไม่มีหน้าชำระเงินที่โฮสต์ในกระบวนการนี้; การชำระเงินจะถูกชำระโดยโปรแกรมโดยกระเป๋าเงินของผู้โทร.
ตารางราคาเดียว สามภาษา รูปแบบเดียวกัน
คุณติดตั้งอะแดปเตอร์หนึ่งตัวและให้ตารางราคาโดยใช้ METHOD บวกเส้นทาง มันกำหนดเส้นทางเฉพาะที่คุณระบุ; ตัวจัดการของคุณไม่เคยเห็นการเรียกที่ยังไม่ได้ชำระเงิน เพราะเมื่อมันทำงาน ส่วนหัว X-Payment ได้รับการตรวจสอบแล้ว รูปแบบเหมือนกันใน Python, TypeScript และ Go - รูปแบบการเชื่อมต่อ X-Payment ก็เหมือนกัน ดังนั้นเซิร์ฟเวอร์ Go จึงยอมรับส่วนหัวที่สร้างโดยไคลเอนต์ Python
from flask import Flask
from blockchain0x import Client
from blockchain0x_x402.server import x402_before_request_factory, PricingEntry
sdk = Client() # reads BLOCKCHAIN0X_API_KEY
app = Flask(__name__)
# Only routes named in the pricing table are gated.
app.before_request(x402_before_request_factory(
sdk=sdk,
pricing={
"POST /api/expensive-operation": PricingEntry(
amount_usdc="0.50",
pay_to_address="0xYourAgentWalletAddress",
payment_request_id="pr_demo",
),
},
))
@app.route("/api/expensive-operation", methods=["POST"])
def expensive_operation():
return run_the_work() # only runs after X-Payment verifiesimport express from "express";
import { createClient } from "@blockchain0x/node";
import { createX402Middleware } from "@blockchain0x/x402/server/express";
const sdk = createClient({ apiKey: process.env.BLOCKCHAIN0X_API_KEY! });
const app = express();
// Only routes named in the pricing table are gated.
app.use(createX402Middleware({
sdk,
pricing: {
"POST /api/expensive-operation": {
amountUsdc: "0.50",
payToAddress: "0xYourAgentWalletAddress",
paymentRequestId: "pr_demo",
},
},
}));
app.post("/api/expensive-operation", async (req, res) => {
res.json(await runTheWork()); // req.x402Payment holds the verified payment
});import (
"net/http"
x402 "tosh-labs/blockchain0x-x402-go"
)
func main() {
pricing := map[string]x402.PricingEntry{
"POST /api/expensive-operation": {
AmountUSDC: "0.50",
PayToAddress: "0xYourAgentWalletAddress",
PaymentRequestID: "pr_demo",
},
}
// serverSdk is your Blockchain0x Go SDK client.
h := x402.Middleware(x402.ServerOptions{Sdk: serverSdk, Pricing: pricing})(
http.HandlerFunc(expensiveOperation))
http.Handle("/api/expensive-operation", h)
http.ListenAndServe(":8080", nil)
}เราส่งอะแดปเตอร์เซิร์ฟเวอร์สำหรับ Express และ Fastify (Node), ASGI (Starlette และ FastAPI) และ Flask (Python), และ net/http ของ Go สำหรับเฟรมเวิร์กอื่น ๆ เนื้อหา 402 และส่วนหัว X-Payment เป็น HTTP ธรรมดาที่ตัวช่วยสายใน @blockchain0x/x402 สร้างและวิเคราะห์ - เขียนการตรวจสอบด้วยมือในสำนวนของสแต็กของคุณ แพ็คเกจ x402 สำหรับ Ruby และ JVM ถูกเผยแพร่สำหรับฝั่งลูกค้า
เมื่อใดควรใช้เครื่องมือแต่ละตัว
Stripe เป็นเครื่องมือที่เหมาะสมสำหรับการชำระเงินของมนุษย์. Blockchain0x เป็นเครื่องมือที่เหมาะสมสำหรับการชำระเงินของตัวแทน. พวกเขาแก้ปัญหาที่แตกต่างกันและมักจะนั่งเคียงข้างกันใน API เดียวกัน.
| มิติ | Blockchain0x | Stripe Checkout |
|---|---|---|
| ผู้ซื้อ | ไคลเอนต์ HTTP ใด ๆ (มนุษย์หรือเอเจนต์ AI) | มนุษย์ที่ใช้เบราว์เซอร์ |
| ต้องมีการตรวจสอบก่อนการชำระเงิน | ไม่ - การเรียกครั้งแรกส่งคืน 402 พร้อมกับข้อกำหนดการชำระเงิน | ใช่ - อีเมล + แบบฟอร์มบัตร |
| ความเร็วในการชำระเงิน | 5 วินาที (USDC บน Base) | 2-7 วัน (เครือข่ายบัตร) |
| ความเสี่ยงการคืนเงิน | ไม่มี (USDC เป็นขั้นสุดท้าย) | ระยะเวลาการคืนเงินสูงสุด 120 วัน |
| เศรษฐศาสตร์ต้นทุนต่อธุรกรรม | ทำงานที่ $0.01-$0.10 ต่อการโทร (ค่าก๊าซ Base + ค่าธรรมเนียมของเรา) | ค่าธรรมเนียมบัตรทำให้การทำธุรกรรมที่ต่ำกว่า $1 ไม่คุ้มค่า |
| การคืนเงิน | แบบแมนนวล - โค้ดของคุณส่ง USDC กลับไปยังที่อยู่ของผู้จ่าย | ทำงานอัตโนมัติผ่านแดชบอร์ด Stripe |
| การสนับสนุนระหว่างประเทศ | กระเป๋าเงินเดียวกัน, ทุกประเทศ, ไม่มีการตั้งค่าเพิ่มเติม | การออกใบอนุญาตต่อประเทศ การแปลงสกุลเงิน กฎระเบียบในภูมิภาค |
| ดีที่สุดสำหรับ | การบริโภค API ที่ขับเคลื่อนด้วย agent แบบโปรแกรม | การชำระเงินที่ขับเคลื่อนด้วยมนุษย์ (การลงทะเบียน SaaS, อีคอมเมิร์ซ) |
รูปแบบที่ผู้ให้บริการ API ส่วนใหญ่ใช้: รักษา Stripe สำหรับกระบวนการลงทะเบียนของมนุษย์ (แดชบอร์ดของคุณ หน้าโปรดักส์การสมัครสมาชิกของคุณ); เพิ่ม Blockchain0x ที่ขอบ API สำหรับการเข้าถึงตัวแทนแบบโปรแกรม x402 ตัวปรับจะเปิดเฉพาะเส้นทางที่คุณใส่ในตารางราคา ดังนั้นเส้นทางที่ได้รับการรับรองจาก Stripe ของคุณจึงไม่ถูกแตะต้อง ชี้ตัวแทนไปที่เส้นทางที่มีราคาและมนุษย์ไปที่ที่เหลือ และทั้งสองกลุ่มจะได้รับบริการโดยโค้ด API เดียวกัน.
โปรสำหรับการเข้าชมในระยะเริ่มต้น. ธุรกิจเมื่อบันทึกการตรวจสอบกลายเป็นข้อกำหนด.
ผู้ให้บริการ API มักจะเริ่มต้นที่ Pro ตั้งแต่วันแรก: ฟรีเป็นแบบอ่านอย่างเดียว และ x402 adapter ต้องการการเข้าถึง API เพื่อตรวจสอบและชำระเงินรวมถึง webhook เพื่อติดตามพวกเขา API ที่มีการใช้งานสูงจะข้ามเข้าสู่พื้นที่ธุรกิจเมื่อปริมาณรายเดือนเพิ่มขึ้น ดูหน้าราคาสำหรับค่าใช้จ่ายต่อเอเจนต์ที่แน่นอนและที่ที่ระดับอยู่
- Free: ใช้ได้เฉพาะกับ dashboard และการสำรวจ metadata เท่านั้น เป็นแบบอ่านอย่างเดียว ดังนั้น adapter จึงไม่สามารถ settle การชำระเงินได้
- Pro: ค่าเริ่มต้นสำหรับการทำ monetize API แบบใช้งานจริง เข้าถึง API ได้เต็มรูปแบบ, webhooks, exports
- Business: เมื่อคุณต้องการ audit logs สำหรับ compliance หรืออัตราเรียก API ที่สูงขึ้น