Bỏ qua nội dung chính
NHÂN VẬT 2 BIẾN THỂ - NHÀ CUNG CẤP API

Bán API của bạn cho các AI agents.

Các tác nhân AI không thể điền vào mẫu thẻ tín dụng. Họ có thể thanh toán cho bạn bằng USDC. Blockchain0x thực hiện cuộc gọi API đó.

NỖI ĐAU

API của bạn được thiết kế cho con người. Các người gọi của bạn giờ đây là các tác nhân.

Thập kỷ tới của doanh thu API sẽ không đến từ việc đăng ký của con người. Nó sẽ đến từ các tác nhân AI gọi API thay mặt cho người dùng của họ, thường là lập trình và không có bất kỳ con người nào trong quy trình. Những tác nhân đó không thể sử dụng quy trình thanh toán hiện tại của bạn. Họ không thể điền vào mẫu thẻ tín dụng, không thể tạo tài khoản, không thể nhấp vào email xác nhận, không thể nhớ mật khẩu.

Những gì họ có thể làm là đọc phản hồi 402 Payment Required, phân tích số lượng USDC và người nhận từ thân JSON, thanh toán trên Base, và phát hành lại cuộc gọi với bằng chứng thanh toán. Đó là toàn bộ hình dạng của thương mại API do đại lý điều khiển. Mô hình chi phí (thanh toán theo cuộc gọi trong stablecoin) cũng phù hợp với hình dạng sử dụng của đại lý tốt hơn nhiều so với các đăng ký dựa trên thẻ: thẻ thất bại ở các giao dịch dưới 1 đô la; USDC trên Base có chi phí vài xu cho gas; việc hoàn tiền không xảy ra giữa các máy.

Blockchain0x là cầu nối. Liệt kê các tuyến đường bạn muốn tính phí trong bảng giá và gắn bộ chuyển đổi x402. Khi một cuộc gọi chưa thanh toán chạm vào một tuyến đường có giá, bộ chuyển đổi trả về mã 402 mô tả chính xác những gì cần thanh toán. Tác nhân thanh toán trên Base và thử lại với tiêu đề X-Payment; bộ chuyển đổi xác minh nó và trình xử lý của bạn chạy. Bạn thu thập USDC và chạy API của bạn như trước. Không có gì về logic kinh doanh của bạn thay đổi; lớp thanh toán đi kèm.

402 CẦN THANH TOÁN

Mã trạng thái HTTP cuối cùng cũng có một ứng dụng.

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 CỦA BẠN TRẢ VỀ BODY 402 NÀY KHI MỘT LỆNH CHƯA ĐƯỢC THANH TOÁN
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
    }
  ]
}

Ý nghĩa của yêu cầu accepts[] là gì

  • scheme - sơ đồ thanh toán. exact-usdc có nghĩa là một số tiền USDC chính xác trên một chuỗi EVM. Khách hàng khớp với điều này trước khi thanh toán.
  • network / chainId - chuỗi để giải quyết (mainnet là Base, CAIP-2 eip155:8453). Một cuộc di cư có thể trích dẫn cả hai mạng bằng cách liệt kê hai yêu cầu trong accepts.
  • payToAddress / amountWeiUsdc - ví người nhận và số tiền chính xác bằng đơn vị cơ bản USDC (500000 = 0.50 USDC, 6 chữ số thập phân). Khách hàng xác minh cả hai trước khi thanh toán.
  • paymentRequestId - liên kết thanh toán với báo giá này. Bộ chuyển đổi từ chối một X-Payment tham chiếu đến một paymentRequestId khác với tuyến đường đã trích dẫn.
  • maxAgeSeconds - mức độ mới của thanh toán phải như thế nào. Một thanh toán cũ hơn khoảng thời gian này sẽ bị từ chối và người gọi phải thanh toán lại.

x402 là máy đến máy: một máy khách nhận thức x402 đọc accepts, thanh toán yêu cầu đã chọn trên chuỗi, sau đó phát hành lại yêu cầu với một tiêu đề X-Payment mà bộ chuyển đổi xác minh. Một máy khách không nói x402 chỉ nhận 402 và không nhận được kết quả nào, đó là kết quả đúng (cuộc gọi không được thanh toán). Không có trang thanh toán được lưu trữ trong quy trình này; khoản thanh toán được giải quyết lập trình bởi ví của người gọi.

MẪU BỘ CHUYỂN ĐỔI

Một bảng giá. Ba ngôn ngữ. Hình dạng giống nhau.

Bạn gắn một adapter và cung cấp cho nó một bảng giá được khóa theo METHOD cộng với path. Nó chỉ chặn các route bạn liệt kê; handler của bạn sẽ không bao giờ thấy một lệnh chưa thanh toán, vì khi nó chạy thì header X-Payment đã được xác minh rồi. Cấu trúc này giống hệt nhau giữa Python, TypeScript và Go - wire format của X-Payment là như nhau, nên một server Go có thể chấp nhận header được tạo bởi client 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)
}

Chúng tôi cung cấp các bộ chuyển đổi máy chủ cho Express và Fastify (Node), ASGI (Starlette và FastAPI) và Flask (Python), và net/http của Go. Đối với các khung khác, thân 402 và tiêu đề X-Payment là HTTP đơn giản mà các trợ lý wire trong @blockchain0x/x402 xây dựng và phân tích - viết tay kiểm tra trong cách diễn đạt của ngăn xếp của bạn. Các gói x402 cho Ruby và JVM được xuất bản cho phía khách hàng.

VS STRIPE CHECKOUT

Khi nào nên sử dụng từng công cụ.

Stripe là công cụ phù hợp cho thanh toán của con người. Blockchain0x là công cụ phù hợp cho thanh toán của đại lý. Họ giải quyết các vấn đề khác nhau và thường ngồi cạnh nhau trên cùng một API.

Kích thướcBlockchain0xStripe Checkout
Người muaBất kỳ khách hàng HTTP nào (con người hoặc tác nhân AI)Con người tại trình duyệt
Xác thực cần thiết trước khi thanh toánKhông - cuộc gọi đầu tiên trả về 402 với các yêu cầu thanh toánCó - email + mẫu thẻ
Tốc độ thanh toán5 giây (USDC trên Base)2-7 ngày (mạng thẻ)
Rủi ro hoàn tiềnKhông có (USDC là cuối cùng)Tối đa 120 ngày thời gian hoàn tiền
Kinh tế chi phí theo giao dịchHoạt động với giá $0.01-$0.10 mỗi cuộc gọi (gas Base + phí của chúng tôi)Phí thẻ làm cho các giao dịch dưới $1 trở nên không kinh tế
Hoàn tiềnThủ công - mã của bạn gửi USDC trở lại địa chỉ người trả tiềnTự động qua bảng điều khiển Stripe
Hỗ trợ quốc tếCùng một ví, bất kỳ quốc gia nào, không cần cấu hình thêmCấp phép theo quốc gia, chuyển đổi tiền tệ, quy tắc khu vực
Tốt nhất choTiêu thụ API điều khiển bởi tác nhân lập trìnhThanh toán do con người điều khiển (đăng ký SaaS, thương mại điện tử)

Mô hình mà hầu hết các nhà cung cấp API áp dụng: giữ Stripe cho quy trình đăng ký của con người (bảng điều khiển của bạn, trang sản phẩm đăng ký của bạn); thêm Blockchain0x tại rìa API để truy cập tác nhân theo chương trình. Bộ chuyển đổi x402 chỉ kiểm soát các tuyến đường mà bạn đưa vào bảng giá của nó, vì vậy các tuyến đường xác thực Stripe của con người của bạn không bị ảnh hưởng. Chỉ định các tác nhân vào các tuyến đường đã định giá và con người vào phần còn lại, và cả hai đối tượng đều được phục vụ bởi cùng một mã API.

KẾ HOẠCH NÀO PHÙ HỢP

Pro cho lưu lượng truy cập sớm. Kinh doanh khi nhật ký kiểm toán trở thành yêu cầu.

Các nhà cung cấp API hầu như luôn bắt đầu với Pro ngay từ ngày đầu tiên: Miễn phí chỉ đọc, và bộ chuyển đổi x402 cần quyền truy cập API để xác minh và giải quyết các khoản thanh toán cũng như webhook để theo dõi chúng. Các API có lưu lượng truy cập cao sẽ chuyển sang lĩnh vực Doanh nghiệp khi khối lượng hàng tháng tăng. Xem trang giá để biết chi phí chính xác theo từng đại lý và vị trí của các cấp độ.

  • Free: chỉ hữu ích cho dashboard và khám phá metadata. Chỉ đọc, nên adapter không thể xử lý thanh toán.
  • Pro: mặc định cho việc kiếm tiền từ API đang chạy thực tế. Toàn bộ quyền truy cập API, webhooks, xuất dữ liệu.
  • Business: khi bạn cần audit logs cho tuân thủ, hoặc cần hạn mức rate API cao hơn.
Xem giá đầy đủ
CÂU HỎI THƯỜNG GẶP

Năm câu hỏi cho nhà cung cấp API.

Tôi có thể chạy Stripe song song với Blockchain0x cho cùng một API không?

Có, và nhiều API provider cũng làm vậy. Mẫu triển khai là: giữ nguyên luồng đăng ký người dùng bằng Stripe hiện có, và chỉ liệt kê các route dành cho agent trong bảng giá x402. Bộ adapter sẽ chặn đúng các route đó; mọi thứ không có trong bảng (bao gồm cả các route mà khách hàng đã xác thực qua Stripe gọi tới) sẽ đi thẳng qua, không bị ảnh hưởng. Nếu bạn muốn một route phục vụ cả hai, hãy kiểm tra API key của chính bạn trong handler và bỏ qua đường dẫn tính phí đối với caller đã xác thực. Cả hai nhóm đều nhận được thứ họ cần mà không cản trở nhau.

Điều gì xảy ra nếu một đại lý AI thanh toán rồi thoát trước khi thử lại cuộc gọi?

Khoản thanh toán vẫn hợp lệ trên chuỗi; nó chỉ không được sử dụng. Ví của tác nhân cho thấy một chuyển khoản USDC thành công đến địa chỉ của bạn. Từ quan điểm của tác nhân, nó đã mất USDC; từ quan điểm của bạn, bạn đã được thanh toán cho một cuộc gọi không bao giờ được thực hiện. Điều này hiếm khi xảy ra trong thực tế (khách hàng x402 thử lại ngay sau khi thanh toán), nhưng nếu bạn muốn phòng thủ, bạn có thể theo dõi các khoản thanh toán đã được xác minh mà không bao giờ tạo ra một cuộc gọi hoàn thành và gửi USDC trở lại cho chính bạn với payments.create, thanh toán địa chỉ người trả ban đầu. Không có điểm cuối hoàn trả riêng biệt - một khoản hoàn trả chỉ là một khoản thanh toán theo hướng ngược lại.

Làm thế nào để tôi phiên bản API và thay đổi giá?

Mỗi mục trong bảng giá là theo tuyến, vì vậy các tuyến khác nhau có thể tính phí khác nhau. Đối với việc phiên bản, mẫu được khuyến nghị là công khai các điểm cuối v2 bên cạnh v1 với các mức giá mới như các mục bảng giá mới; khách hàng thấy số tiền mới trong phản hồi 402 đầu tiên của họ trên tuyến v2 và thanh toán tương ứng. Sự tăng giá đột ngột trên các tuyến ổn định là hành vi xấu trong giao thức; chúng tôi khuyên bạn nên ngừng sử dụng tuyến cũ và phục vụ một 410 Gone chỉ đến tuyến mới với mức giá mới.

Khả năng quan sát trông như thế nào - nhật ký, số liệu, cảnh báo?

Mỗi khoản thanh toán xuất hiện trong bảng điều khiển Blockchain0x với ví người trả tiền, số tiền và dấu thời gian, và cùng dữ liệu đó đến trên webhook payment.received của bạn để bạn có thể phát trực tiếp vào Datadog, Splunk hoặc ngăn nhật ký của riêng bạn. Bộ điều hợp chạy bên trong máy chủ của bạn, vì vậy các tín hiệu cấp yêu cầu (tuyến nào đã được trích dẫn, mỗi 402 bạn đã trả lại, mỗi X-Payment bạn đã xác minh) là của bạn để ghi lại và phát ra dưới dạng số liệu theo định dạng mà ngăn của bạn sử dụng. Thiết lập cảnh báo cho những điều rõ ràng: một đột biến đột ngột trong phản hồi 402, hoặc một sự sụt giảm trong tỷ lệ thanh toán đã xác minh.

Còn các câu hỏi quy định thì sao - tôi có phải là một doanh nghiệp dịch vụ tiền tệ nếu tôi làm điều này không?

Có thể không, nhưng điều này phụ thuộc vào khu vực pháp lý và chúng tôi không phải là luật sư của bạn. Lý do: bạn đang nhận thanh toán cho các dịch vụ bạn cung cấp, không phải chuyển tiền giữa các bên thứ ba (điều này là nguyên nhân kích hoạt trạng thái MSB ở Mỹ). USDC được công nhận là stablecoin thanh toán ở hầu hết các khu vực pháp lý. Bạn có nghĩa vụ nộp thuế trên doanh thu tương đương USD; chúng tôi tạo ra các hồ sơ bạn cần cho điều đó. Nếu bạn hoạt động trong một bối cảnh B2B có khối lượng cao hoặc trong một khu vực pháp lý có quy định nghiêm ngặt về tiền điện tử (Đức, Singapore cho một số hình thức nhất định), hãy nhận tư vấn pháp lý cụ thể trước khi bật lưu lượng sản xuất. Chúng tôi có thể giới thiệu bạn đến các công ty đã thực hiện công việc này cho các khách hàng trước đó.

Để các agent thanh toán cho API của bạn.

Thêm một tuyến đường đến bảng giá và gắn bộ chuyển đổi. Stripe dành cho con người. Cả hai đối tượng đều được phục vụ.