ข้ามไปยังเนื้อหาหลัก
PERSONA 2 VARIANT - ผู้ให้บริการ API

ขาย 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 ของคุณตามปกติ ไม่มีอะไรเกี่ยวกับตรรกะทางธุรกิจของคุณเปลี่ยนแปลง; เลเยอร์การเรียกเก็บเงินทำงานควบคู่กัน.

402 ต้องการการชำระเงิน

รหัสสถานะ 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.

API ของคุณส่งคืน BODY 402 นี้เมื่อการเรียกไม่ถูกชำระเงิน
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 และไม่ได้ผลลัพธ์ใด ๆ ซึ่งเป็นผลลัพธ์ที่ถูกต้อง (การโทรไม่ได้ชำระเงิน) ไม่มีหน้าชำระเงินที่โฮสต์ในกระบวนการนี้; การชำระเงินจะถูกชำระโดยโปรแกรมโดยกระเป๋าเงินของผู้โทร.

รูปแบบ Adapter

ตารางราคาเดียว สามภาษา รูปแบบเดียวกัน

คุณติดตั้งอะแดปเตอร์หนึ่งตัวและให้ตารางราคาโดยใช้ METHOD บวกเส้นทาง มันกำหนดเส้นทางเฉพาะที่คุณระบุ; ตัวจัดการของคุณไม่เคยเห็นการเรียกที่ยังไม่ได้ชำระเงิน เพราะเมื่อมันทำงาน ส่วนหัว X-Payment ได้รับการตรวจสอบแล้ว รูปแบบเหมือนกันใน Python, TypeScript และ Go - รูปแบบการเชื่อมต่อ X-Payment ก็เหมือนกัน ดังนั้นเซิร์ฟเวอร์ Go จึงยอมรับส่วนหัวที่สร้างโดยไคลเอนต์ Python

PYTHON (FLASK)
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 verifies
TYPESCRIPT (EXPRESS)
import 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
});
GO (NET/HTTP)
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 CHECKOUT

เมื่อใดควรใช้เครื่องมือแต่ละตัว

Stripe เป็นเครื่องมือที่เหมาะสมสำหรับการชำระเงินของมนุษย์. Blockchain0x เป็นเครื่องมือที่เหมาะสมสำหรับการชำระเงินของตัวแทน. พวกเขาแก้ปัญหาที่แตกต่างกันและมักจะนั่งเคียงข้างกันใน API เดียวกัน.

มิติBlockchain0xStripe 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 ที่สูงขึ้น
ดูราคาเต็ม
คำถามที่พบบ่อย

ห้าคำถามจากผู้ให้บริการ API

ฉันสามารถใช้ Stripe ร่วมกับ Blockchain0x สำหรับ API เดียวกันได้หรือไม่?

ใช่ และผู้ให้บริการ API หลายรายทำเช่นนั้น รูปแบบ: รักษากระบวนการลงทะเบียนของมนุษย์ที่ใช้ Stripe ที่มีอยู่ของคุณ และแสดงเฉพาะเส้นทางที่มุ่งหน้าไปยังเอเจนต์ในตารางราคาของ x402 ตัวแปดเกตจะกำหนดเส้นทางเหล่านั้นอย่างแม่นยำ; ทุกอย่างที่ไม่อยู่ในตาราง (รวมถึงเส้นทางที่ลูกค้าที่รับรองโดย Stripe ของคุณเรียก) จะผ่านไปโดยไม่เปลี่ยนแปลง หากคุณต้องการเส้นทางเดียวที่ให้บริการทั้งสอง ให้ตรวจสอบ API key ของคุณในตัวจัดการและข้ามเส้นทางที่มีราคาให้กับผู้โทรที่ได้รับการรับรอง ผู้ชมทั้งสองจะได้รับสิ่งที่ต้องการโดยไม่ให้เส้นทางใดเส้นทางหนึ่งขัดขวางอีกเส้นทางหนึ่ง

ถ้า AI agent ชำระเงินแล้วออกก่อนที่จะลองโทรอีกครั้งจะเกิดอะไรขึ้น?

การชำระเงินยังคงมีผลในเครือข่าย; มันแค่ไม่ได้ใช้งาน กระเป๋าเงินของตัวแทนแสดงการโอน USDC ที่สำเร็จไปยังที่อยู่ของคุณ จากมุมมองของตัวแทนมันสูญเสีย USDC; จากของคุณ คุณได้รับเงินสำหรับการเรียกที่ไม่เคยดำเนินการ นี่เป็นเรื่องที่เกิดขึ้นได้ยากในทางปฏิบัติ (ไคลเอนต์ x402 จะลองใหม่ทันทีหลังจากชำระเงิน) แต่ถ้าคุณต้องการป้องกันคุณสามารถติดตามการชำระเงินที่ได้รับการยืนยันซึ่งไม่เคยผลิตการเรียกที่เสร็จสมบูรณ์และส่ง USDC กลับด้วยตัวเองด้วย payments.create โดยจ่ายที่อยู่ผู้จ่ายเดิม ไม่มีจุดสิ้นสุดการคืนเงินแยกต่างหาก - การคืนเงินคือการชำระเงินในทิศทางตรงกันข้าม.

ฉันจะเวอร์ชัน API และการเปลี่ยนแปลงราคาได้อย่างไร?

แต่ละรายการในตารางราคาเป็นต่อเส้นทาง ดังนั้นเส้นทางที่แตกต่างกันสามารถเรียกเก็บเงินในราคาที่แตกต่างกัน สำหรับการเวอร์ชัน แนะนำให้เปิดเผยจุดสิ้นสุด v2 ควบคู่ไปกับ v1 โดยมีราคาใหม่เป็นรายการในตารางราคาใหม่ ลูกค้าเห็นจำนวนใหม่ในคำตอบ 402 แรกของพวกเขาบนเส้นทาง v2 และชำระเงินตามนั้น การเพิ่มราคาที่ฉับพลันในเส้นทางที่เสถียรเป็นการกระทำที่ไม่ดีในโปรโตคอล; เราขอแนะนำให้ยกเลิกเส้นทางเก่าและให้บริการ 410 Gone ที่ชี้ไปยังเส้นทางใหม่ในราคาที่ใหม่.

การสังเกตการณ์มีลักษณะอย่างไร - บันทึก, เมตริก, การแจ้งเตือน?

ทุกการชำระเงินจะแสดงในแดชบอร์ด Blockchain0x พร้อมกระเป๋าเงินของผู้ชำระเงิน, จำนวนเงิน, และเวลา, และข้อมูลเดียวกันจะมาถึง webhook payment.received ของคุณเพื่อให้คุณสามารถสตรีมไปยัง Datadog, Splunk, หรือสแต็กการบันทึกของคุณเอง. ตัวเชื่อมทำงานภายในเซิร์ฟเวอร์ของคุณ, ดังนั้นสัญญาณระดับคำขอ (เส้นทางใดถูกอ้างอิง, ทุก 402 ที่คุณส่งกลับ, ทุกการชำระเงินที่คุณยืนยัน) เป็นของคุณที่จะบันทึกและส่งออกเป็นเมตริกในรูปแบบใดก็ได้ที่สแต็กของคุณใช้. ตั้งการแจ้งเตือนสำหรับสิ่งที่ชัดเจน: การเพิ่มขึ้นอย่างกะทันหันในคำตอบ 402, หรือการลดลงในอัตราการชำระเงินที่ได้รับการยืนยัน.

แล้วคำถามด้านกฎระเบียบล่ะ - ฉันเป็นธุรกิจบริการเงินถ้าฉันทำแบบนี้หรือไม่?

น่าจะไม่ แต่สิ่งนี้ขึ้นอยู่กับเขตอำนาจศาลและเราไม่ใช่ทนายความของคุณ สาเหตุ: คุณกำลังได้รับการชำระเงินสำหรับบริการที่คุณให้ ไม่ใช่การส่งเงินระหว่างบุคคลที่สาม (ซึ่งเป็นตัวกระตุ้นสถานะ MSB ในสหรัฐอเมริกา) USDC ได้รับการยอมรับว่าเป็น stablecoin สำหรับการชำระเงินในเขตอำนาจศาลส่วนใหญ่ คุณต้องจ่ายภาษีจากรายได้ที่เทียบเท่ากับ USD; เราสร้างบันทึกที่คุณต้องการสำหรับเรื่องนั้น หากคุณดำเนินการในบริบท B2B ที่มีปริมาณสูงหรือในเขตอำนาจศาลที่มีกฎระเบียบเกี่ยวกับคริปโตที่เข้มงวด (เยอรมนี, สิงคโปร์สำหรับบางรูปแบบ) ขอคำแนะนำทางกฎหมายเฉพาะก่อนที่จะเปิดการจราจรในผลิตภัณฑ์ เราสามารถแนะนำคุณไปยังบริษัทที่เคยทำงานนี้ให้กับลูกค้าก่อนหน้านี้.

ให้เอเจนต์ชำระเงินสำหรับ API ของคุณ.

เพิ่มเส้นทางไปยังตารางราคาและติดตั้ง adapter Stripe ยังคงอยู่สำหรับมนุษย์ ผู้ชมทั้งสองได้รับบริการ