Blockchain RPC และ docs MCP สำหรับ AI Agent
เชื่อมต่อ AI Agent เข้ากับ Blockchain RPC และ docs MCP: ค้นหาความสามารถโดยไม่ต้องใช้คีย์, ลงทะเบียนผ่าน HTTP, แล้วเรียกใช้ RPC และ Data API ด้วย API key
เริ่มต้นด้วย docs MCP endpoint แบบไม่ต้องใช้คีย์เพื่อค้นหาเมธอด Blockchain RPC, ชุดข้อมูล Data API, ราคา และเอกสารประกอบ AI Agent ถือเป็นผู้ใช้งานชั้นหนึ่ง (first-class users): นักพัฒนาและ AI Agent ใช้ API, กฎ, ขีดจำกัด และราคาเดียวกัน
- ค้นหา (Discover): ใช้ docs MCP,
llms.txt, OpenAPI และ JSON สาธารณะเพื่อเลือกเชนและเมธอด การเรียก RPC แบบไม่ใช้คีย์จะจำกัดเฉพาะpublic.methodsของเชนนั้นๆ - เปิดบัญชีผ่าน HTTP: ทำตาม การลงทะเบียนแบบเป็นโปรแกรม เพื่อเข้าสู่ระบบด้วยลายเซ็นกระเป๋าเงินและสร้าง API key โดย
how_to_get_api_keyของ MCP จะส่งคืนคำแนะนำสำหรับโฟลว์ HTTP แยกต่างหากนี้ - เรียกใช้ Data API: จัดเก็บคีย์ไว้ใน
BLOCKVECTRA_API_KEYและใช้สำหรับคำขอ RPC หรือ Data API ที่ต้องยืนยันตัวตน สำหรับเครื่องมือ MCP ที่ต้องใช้คีย์ ให้กำหนดค่าส่วนหัวx-api-keyของไคลเอนต์ โดยการดำเนินการที่อนุญาตของแต่ละเครื่องมือมีรายละเอียดอยู่ด้านล่าง
1. บริบทและข้อกำหนดที่เครื่องอ่านได้
BlockVectra เผยแพร่ไฟล์สำหรับ LLM agent และเครื่องมือของนักพัฒนา:
ดัชนี llms.txt
ตามรูปแบบมาตรฐานของ llmstxt.org ไฟล์เหล่านี้จะสรุปข้อมูลของเว็บไซต์และ endpoint ต่างๆ อย่างมีโครงสร้างสำหรับ agent:
- ดัชนีเว็บไซต์หลัก: Main site llms.txt — ภาพรวมของเว็บไซต์หลัก, เชนที่รองรับ, ราคา และ API สาธารณะ
- ดัชนีเอกสาร: Documentation llms.txt — แคตตาล็อกของหน้าเอกสารทั้งหมดพร้อมชื่อเรื่องและคำอธิบาย
ไฟล์เอกสารฉบับเต็ม (llms-full.txt)
- เอกสารฉบับสมบูรณ์: llms-full.txt — ข้อความฉบับเต็มของหน้าเอกสารภาษาอังกฤษทุกหน้าในไฟล์ Markdown ข้อความล้วนไฟล์เดียว เหมาะสำหรับการโหลดลงใน system prompt ของ agent หรือนำเข้าสู่ไปป์ไลน์ Retrieval-Augmented Generation (RAG)
ข้อกำหนด OpenAPI 3.1 ที่ดาวน์โหลดได้
เว็บไซต์เอกสารให้บริการไฟล์ YAML ของ OpenAPI 3.1 ซึ่งสามารถนำเข้าสู่เฟรมเวิร์กของ agent, เครื่องมือสร้าง tool หรือไคลเอนต์ API ได้โดยตรง:
- ข้อกำหนด JSON-RPC API: /openapi/json-rpc.yaml — เมธอดที่รองรับ, นโยบายเมธอดต่อเชน, การตอบกลับข้อผิดพลาด และการวัดปริมาณ Compute Unit
- ข้อกำหนด Data API: /openapi/data.yaml — นิยาม REST endpoint สำหรับบล็อกที่จัดทำดัชนีแล้ว, ธุรกรรม, การโอน, ยอดคงเหลือ, ผู้ถือครอง และชุดข้อมูลที่เกี่ยวข้อง
- ข้อกำหนด Push API: /openapi/push.yaml — การจัดการการสมัครรับข้อมูลผ่าน HTTP, ที่อยู่กระเป๋าเงินที่เฝ้าดู, อีเวนต์ webhook, ลายเซ็น และการเล่นซ้ำ
สำหรับกิจกรรมที่อยู่กระเป๋าเงิน โปรดทำตาม คู่มือ Blockchain Webhook API สำหรับการแจ้งเตือนการชำระเงิน ERC-20 USDT / USDC ให้ใช้ ตัวอย่างตัวรับการชำระเงิน นักพัฒนาและ AI agent สามารถสร้างและจัดการการสมัครรับข้อมูลผ่าน HTTP Push API ด้วย x-api-key; โดย docs MCP จะช่วยค้นหาและอ่านคู่มือเหล่านี้
สำหรับการกำหนดเวอร์ชันของพาธ, กฎความเข้ากันได้ย้อนหลัง และคำแนะนำสำหรับ agent ตลอดจนผู้พัฒนา SDK โปรดดู การกำหนดเวอร์ชันและความเข้ากันได้ของ API สำหรับสูตรสำเร็จที่พร้อมใช้งานในเฟรมเวิร์กยอดนิยม (ElizaOS, viem, wagmi, Coinbase AgentKit) โปรดดู สูตรการใช้งานสำหรับเฟรมเวิร์ก Agent
เซิร์ฟเวอร์ Model Context Protocol (MCP)
BlockVectra ให้บริการเซิร์ฟเวอร์ MCP แบบ stateless และไม่ต้องใช้คีย์ผ่าน Streamable HTTP:
- Endpoint: MCP endpoint (HTTP POST รับ JSON-RPC 2.0; GET จะส่งคืน 405)
- Transport: MCP Streamable HTTP (stateless ไม่จำเป็นต้องใช้ API key)
เครื่องมือที่พร้อมใช้งาน
read_doc(path, lang?): ส่งคืนเนื้อหา Markdown ดิบสำหรับหน้าเอกสารใดๆ จาก/md/{lang}/{path}.mdรับพาธสัมพัทธ์ภายใน (เช่นquickstart,guides/ai-agents,api/json-rpc,chains)search_docs(query, lang?, limit?): ค้นหาหน้าเอกสารจากชื่อเรื่อง, พาธ และบทสรุปlist_chains(): อ่านเครือข่ายบล็อกเชนที่รองรับ, พารามิเตอร์คงที่ และนโยบายเมธอดจากGET /v1/chainsget_status(): อ่านความพร้อมของบริการแบบเรียลไทม์, สถานะเครือข่าย, ความสูงบล็อกล่าสุด และความล่าช้าในการซิงค์จากGET /v1/statusget_pricing(): อ่านน้ำหนัก Compute Unit (CU), พารามิเตอร์ของแพ็กเกจฟรี และขีดจำกัดคีย์เริ่มต้นจากGET /v1/plansestimate_usage(lines?, method?, calls_per_day?): ประเมิน Compute Units (CU), ค่าบริการตามราคาป้ายรวม และค่าบริการสุทธิหลังจากหักโควตาฟรีตามรอบสำหรับหนึ่งเมธอดขึ้นไป (รองรับหลายรายการlines: [{method, calls_per_day}]หรือแบบเดี่ยวmethodและcalls_per_day) พร้อมทั้งรายงานขีดจำกัดอัตราต่อคีย์จากkey_defaultsและแนะนำจำนวน API key ที่ต้องใช้เมื่อทราฟฟิกเกินขีดจำกัดของคีย์เดี่ยวhow_to_get_api_key(lang?): ส่งคืนขั้นตอนการรับ API key และรูปแบบการยืนยันตัวตนคำขอสำหรับ JSON-RPC และ Data APIget_method_info(method, chain?): ส่งคืนความพร้อมใช้งานของเชน, น้ำหนัก Compute Unit (CU), ราคาต่อหนึ่งล้านการเรียก และลิงก์เอกสารสำหรับเมธอดนั้น ความพร้อมใช้งานของ JSON-RPC เป็นไปตามmethods.allowและdenyในGET /v1/chains; ความครอบคลุมของชุดข้อมูล Data API เป็นไปตามdata_featuresในGET /v1/statusโดยมีdata: trueในแคตตาล็อกเชนexplain_error(reason?, code?, http_status?): ค้นหาคำอธิบายข้อผิดพลาด, ผลกระทบต่อการเรียกเก็บเงิน, ความสามารถในการลองใหม่ และการดำเนินการกู้คืนจากแคตตาล็อกข้อผิดพลาดlist_docs(lang?): แสดงรายการหน้าเอกสารทั้งหมดพร้อมพาธสัมพัทธ์และชื่อเรื่องจากดัชนีเอกสารrpc_call(chain, method, params?): ดำเนินการเรียก JSON-RPC 2.0 แบบอ่านอย่างเดียวบนเชนที่รองรับด้วย API key ของคุณ (readOnlyHint: true) เมธอดการเขียน (เช่นeth_sendRawTransaction) จะถูกปฏิเสธ; ให้ใช้send_raw_transactionแทน ต้องมีส่วนหัวx-api-keyในการกำหนดค่าไคลเอนต์ MCP สำหรับการเข้าถึงแบบเต็มรูปแบบ หรือใช้ endpoint สาธารณะแบบไม่ใช้คีย์หากมีให้บริการdata_api_get(chain, path, query?): ส่งคำขอ GET ไปยัง Data API สำหรับเชนและพาธที่รองรับด้วย API key ของคุณ (readOnlyHint: true) ต้องมีส่วนหัวx-api-keyในการกำหนดค่าไคลเอนต์ MCPget_account(): สอบถามยอดคงเหลือในบัญชี, Compute Units (CU), การจำกัดอัตรา และพารามิเตอร์ของคีย์จากGET /v1/accountด้วย API key ของคุณ (readOnlyHint: true) ต้องมีส่วนหัวx-api-keyในการกำหนดค่าไคลเอนต์ MCPget_deposit_address(): สอบถามที่อยู่สำหรับฝากบนเชนเฉพาะของบัญชี, เครือข่าย และโทเค็นที่เปิดให้บริการจากGET /v1/topup/deposit-addressด้วย API key ของคุณ (readOnlyHint: true) โอนเงินเฉพาะเครือข่ายและโทเค็นที่ระบุเท่านั้น ต้องมีส่วนหัวx-api-keyในการกำหนดค่าไคลเอนต์ MCPsend_raw_transaction(chain, raw_tx): บรอดแคสต์ธุรกรรมดิบที่เซ็นแล้วไปยังเชนที่รองรับผ่านeth_sendRawTransaction(destructiveHint: true) ต้องมีส่วนหัวx-api-keyในการกำหนดค่าไคลเอนต์ MCP สำหรับการเข้าถึงแบบเต็มรูปแบบ หรือใช้ endpoint สาธารณะแบบไม่ใช้คีย์หากได้รับอนุญาตบนเชนนั้น
เครื่องมือที่ต้องใช้คีย์
เครื่องมือที่ต้องใช้คีย์จำเป็นต้องมี API key เพื่อดำเนินการสอบถามบนเชน, ทำธุรกรรม, ส่งคำขอ Data API หรือดำเนินการเกี่ยวกับบัญชี
ความปลอดภัยของ API key:
- อ่านจากส่วนหัวอย่างเคร่งครัด: API key จะถูกอ่านจากส่วนหัวคำขอ HTTP ของไคลเอนต์ MCP เท่านั้น (
x-api-key: rgw_...หรือAuthorization: Bearer rgw_...) - ห้ามใส่คีย์ในแชทเด็ดขาด: ห้ามส่ง API key หรือ private key ในอาร์กิวเมนต์ของเครื่องมือ หรือวางลงในแชท อาร์กิวเมนต์ของเครื่องมือและประวัติการแชทจะเข้าสู่บันทึกและบริบทของการสนทนา การส่งคีย์ในอาร์กิวเมนต์จะถูกปฏิเสธ
หากเรียกใช้โดยไม่มีส่วนหัว API key เครื่องมือเหล่านี้จะส่งคืน isError: true และนำทาง agent ไปยัง how_to_get_api_key รวมถึงคู่มือการเริ่มต้นใช้งานแบบเป็นโปรแกรม
การเชื่อมต่อจากไคลเอนต์ MCP
คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MCP เอกสารของ BlockVectra ได้ที่ https://docs.blockvectra.com/mcp ในสภาพแวดล้อมการพัฒนาและเฟรมเวิร์กทั่วไป
เริ่มต้นโดยไม่ต้องใช้ API key เชื่อมต่อกับ MCP endpoint, เรียกใช้ list_chains, จากนั้นอ่าน quickstart ด้วย read_doc เพิ่ม API key ในส่วนหัว HTTP ของไคลเอนต์เมื่อคุณต้องการใช้เครื่องมือ Data API หรือเครื่องมือบัญชี การเข้าถึง RPC แบบไม่ใช้คีย์จะเป็นไปตามนโยบายเมธอดสาธารณะของแต่ละเชน
ส่วนหัว x-api-key เป็นทางเลือก หากไม่มี API key ไคลเอนต์สามารถใช้เครื่องมือเอกสารแบบอ่านอย่างเดียวทั้งหมด (read_doc, search_docs, list_docs), การค้นหาเชน (list_chains), สถานะแบบเรียลไทม์ (get_status), การประเมินราคา (get_pricing, estimate_usage), คำอธิบายข้อผิดพลาด (explain_error) และเมธอดที่อนุญาตบน endpoint สาธารณะ เมื่อใช้เครื่องมือที่ต้องมีคีย์ (rpc_call บนเมธอดที่จำกัด, send_raw_transaction, data_api_get, get_account และ get_deposit_address) ให้กำหนดค่าส่วนหัว x-api-key ด้วย API key ของคุณ
Claude Code
เชื่อมต่อกับเซิร์ฟเวอร์ MCP โดยใช้ CLI:
claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcpหากต้องการรวม API key ที่เป็นทางเลือกสำหรับเครื่องมือที่ต้องยืนยันตัวตน ให้ส่งตัวเลือก --header (หรือ -H):
claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp \
--header "x-api-key: YOUR_API_KEY"เอกสารอย่างเป็นทางการ: เอกสาร Claude Code MCP
Cursor
เพิ่มเซิร์ฟเวอร์ในการกำหนดค่า MCP ของ Cursor:
{
"mcpServers": {
"blockvectra": {
"url": "https://docs.blockvectra.com/mcp"
}
}
}Cursor ยังรองรับการติดตั้งแบบคลิกเดียวผ่าน deep link โดยใช้การกำหนดค่าที่เข้ารหัสแบบ base64 eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9 (แทน {"url":"https://docs.blockvectra.com/mcp"}):
cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน (Data API หรือการจัดการบัญชี) ให้เพิ่มออบเจกต์ headers พร้อม API key ของคุณ:
{
"mcpServers": {
"blockvectra": {
"url": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}เอกสารอย่างเป็นทางการ: เอกสาร Cursor MCP และ ลิงก์การติดตั้งของ Cursor
VS Code
ใน VS Code ให้กำหนดค่าเซิร์ฟเวอร์ใน .vscode/mcp.json ภายใต้คีย์ระดับบนสุด servers ด้วย type: "http":
{
"servers": {
"blockvectra": {
"type": "http",
"url": "https://docs.blockvectra.com/mcp"
}
}
}เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน ให้เพิ่มออบเจกต์ headers:
{
"servers": {
"blockvectra": {
"type": "http",
"url": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}เมื่อจัดเก็บข้อมูลประจำตัวที่มีความสำคัญ VS Code รองรับการอ้างอิงตัวแปร input หรือไฟล์สภาพแวดล้อมแทนการฮาร์ดโค้ดคีย์ คุณยังสามารถเพิ่มเซิร์ฟเวอร์โดยใช้คำสั่งใน Command Palette MCP: Add Server ได้อีกด้วย
เอกสารอย่างเป็นทางการ: เอกสารเซิร์ฟเวอร์ VS Code MCP และ ข้อมูลอ้างอิงการกำหนดค่า VS Code MCP
Codex
เพิ่มเซิร์ฟเวอร์โดยใช้ OpenAI Codex CLI:
codex mcp add blockvectra --url https://docs.blockvectra.com/mcpใน config.toml ให้กำหนดค่า URL ของเซิร์ฟเวอร์:
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน ให้กำหนดค่าส่วนหัวคำขอใน config.toml:
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
http_headers = { "x-api-key" = "YOUR_API_KEY" }หรืออีกทางหนึ่ง สามารถแมปส่วนหัวจากตัวแปรสภาพแวดล้อม:
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
env_http_headers = { "x-api-key" = "BLOCKVECTRA_API_KEY" }เอกสารอย่างเป็นทางการ: เอกสาร OpenAI Codex CLI MCP
Gemini CLI
ในการกำหนดค่า Gemini CLI ให้เพิ่มเซิร์ฟเวอร์ภายใต้ mcpServers โดยใช้ httpUrl สำหรับ Streamable HTTP:
{
"mcpServers": {
"blockvectra": {
"httpUrl": "https://docs.blockvectra.com/mcp"
}
}
}เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน ให้เพิ่มออบเจกต์ headers พร้อม API key ของคุณ:
{
"mcpServers": {
"blockvectra": {
"httpUrl": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}เอกสารอย่างเป็นทางการ: เอกสารเซิร์ฟเวอร์ Gemini CLI MCP
OpenAI Responses API
เมื่อเรียกใช้ OpenAI Responses API ให้ส่งเซิร์ฟเวอร์ MCP ในอาร์เรย์ tools โดยระบุ type: "mcp":
OPENAI_API_BASE="https://api.openai.com/v1"
curl "$OPENAI_API_BASE/responses" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<model>",
"tools": [{
"type": "mcp",
"server_label": "blockvectra",
"server_url": "https://docs.blockvectra.com/mcp",
"require_approval": "never"
}],
"input": "..."
}'เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน ให้ใส่ฟิลด์ headers ในนิยามของเครื่องมือ:
{
"type": "mcp",
"server_label": "blockvectra",
"server_url": "https://docs.blockvectra.com/mcp",
"headers": { "x-api-key": "YOUR_API_KEY" },
"require_approval": "never"
}เอกสารอย่างเป็นทางการ: คู่มือเครื่องมือ OpenAI MCP และ ข้อมูลอ้างอิง OpenAI Responses API
Windsurf
ใน Windsurf ให้กำหนดค่าเซิร์ฟเวอร์ภายใต้ mcpServers โดยใช้ฟิลด์ serverUrl field:
{
"mcpServers": {
"blockvectra": {
"serverUrl": "https://docs.blockvectra.com/mcp"
}
}
}เมื่อคุณต้องการเครื่องมือที่ต้องยืนยันตัวตน ให้เพิ่มออบเจกต์ headers พร้อม API key ของคุณ:
{
"mcpServers": {
"blockvectra": {
"serverUrl": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}Windsurf ยังรองรับการอ้างอิงตัวแปรสภาพแวดล้อม เช่น "x-api-key": "${env:BLOCKVECTRA_API_KEY}"
เอกสารอย่างเป็นทางการ: เอกสาร Windsurf MCP
Claude Desktop และ claude.ai
การกำหนดค่าตัวเชื่อมต่อแบบกำหนดเองทำได้ผ่านหน้าต่างส่วนติดต่อผู้ใช้:
- claude.ai: ไปที่ Customize > Connectors, คลิก + Add, เลือก Add custom connector และป้อน URL:
https://docs.blockvectra.com/mcp - Claude Desktop: เปิดเมนูการตั้งค่าบัญชีและกำหนดค่าตัวเชื่อมต่อแบบกำหนดเองผ่านอินเทอร์เฟซ connectors
การเชื่อมต่อกับ URL นี้จะช่วยให้ Claude สามารถค้นหาคู่มือ, อ่านเอกสาร Markdown, ตรวจสอบเชนที่รองรับ, ตรวจสอบสถานะเครือข่าย และคำนวณการประเมินราคาได้โดยไม่ต้องใช้ข้อมูลประจำตัว
เอกสารอย่างเป็นทางการ: คู่มือตัวเชื่อมต่อแบบกำหนดเองของ Claude
2. Public JSON endpoint (ไม่ต้องใช้คีย์)
agent สามารถตรวจสอบเชนที่มีอยู่, สถานะแบบเรียลไทม์ และพารามิเตอร์ของแพ็กเกจก่อนส่งคำขอที่มีการวัดปริมาณได้ โดยไม่มี endpoint ใดในกลุ่มนี้ที่ต้องใช้ API key:
GET /v1/statusและGET /v1/chainsไม่ต้องยืนยันตัวตนและไม่คิดค่าบริการGET /v1/plansเป็นแบบสาธารณะและไม่ต้องยืนยันตัวตน
ทั้งสาม endpoint จะส่ง Access-Control-Allow-Origin: *
สถานะการให้บริการ (GET /v1/status)
ส่งคืนความพร้อมของบริการและสถานะการซิงโครไนซ์ของแต่ละเชนสาธารณะ:
curl -s "https://api.blockvectra.com/v1/status"ฟิลด์การตอบกลับ:
checked_at: เวลาที่สร้างสแนปช็อต (RFC 3339 / ISO 8601 UTC)gateway.status: สถานะการทำงานของบริการokหมายถึงบริการพร้อมทำงาน;degradedหมายความว่าคำขอแบบชำระเงินจะถูกปฏิเสธจนกว่าจะฟื้นตัว ค่านี้เป็นอิสระจากสถานะโหนดของแต่ละเชนchains[]: เชนที่ให้บริการแก่สาธารณะ:chain: สลักเชน (เช่นrobinhood_mainnet)name: ชื่อที่มนุษย์อ่านได้chain_id: EIP-155 chain ID (จำนวนเต็มฐานสิบ)jsonrpc: ให้บริการ JSON-RPC หรือไม่data: ให้บริการ Data API หรือไม่data_features: ความสามารถของ Data API ที่มีให้สำหรับเชนนี้ (เป็นอาร์เรย์ว่างเมื่อdataเป็นfalse)data_status: สถานะการทำงานของ Data API (ok,syncingหรือunavailable; มีเฉพาะเมื่อdataเป็นtrue)status: สถานะโหนดของเชน (okหรือunavailable)head: ข้อมูลบล็อกล่าสุด —block(ความสูงบล็อกล่าสุด),time(การประทับเวลาของบล็อก) และlag_seconds(เวลาของบล็อกล่าช้ากว่าเวลาปัจจุบันเท่าใด) — หรือnullเมื่อไม่ทราบข้อมูล
ตัวอย่างการตอบกลับ:
{
"checked_at": "2026-09-28T12:00:00Z",
"gateway": {
"status": "ok"
},
"chains": [
{
"chain": "robinhood_mainnet", "name": "Robinhood Chain", "chain_id": 4663,
"jsonrpc": true,
"data": true,
"data_features": [
"blocks",
"transactions",
"address_transactions",
"transfers",
"token_metadata",
"freshness"
],
"status": "ok",
"head": {
"block": 73017329,
"time": "2026-09-28T11:59:58Z",
"lag_seconds": 2
}
}
]
}พารามิเตอร์ของเชน (GET /v1/chains)
ส่งคืนพารามิเตอร์คงที่และนโยบายเมธอดของแต่ละเชนสาธารณะ:
curl -s "https://api.blockvectra.com/v1/chains"ฟิลด์การตอบกลับ:
chains[]: เชนสาธารณะและพารามิเตอร์คงที่:chain: สลักเชนname: ชื่อที่มนุษย์อ่านได้chain_id: EIP-155 chain IDjsonrpc: ให้บริการ JSON-RPC หรือไม่data: ให้บริการ Data API หรือไม่ws: รองรับการเชื่อมต่อ WebSocket หรือไม่subscriptions: ประเภทการสมัครรับข้อมูล WebSocket ที่รองรับ (เช่นnewHeads,logs)methods: นโยบายเมธอด:allow: รายชื่อเมธอดที่อนุญาต (เช่นeth_call,debug_traceTransaction)deny: เมธอดที่ปฏิเสธหรือรูปแบบไวลด์การ์ดคำนำหน้า (เช่นeth_newFilter) เมธอดที่ปฏิเสธจะมีผลเหนือกว่าเมธอดที่อนุญาต
max_logs_block_range: ช่วงบล็อกสูงสุดที่อนุญาตในคำขอeth_getLogsรายการเดียวstate_window_blocks: หน้าต่างสถานะย้อนหลังในหน่วยบล็อก;nullเมื่อมีประวัติครบถ้วนสมบูรณ์info: ข้อมูลส่วนขยายสาธารณะต่อเชน (สงวนไว้; ปัจจุบันเป็นออบเจกต์ว่าง{})public: การกำหนดค่า endpoint สาธารณะที่ไม่ต้องยืนยันตัวตน (หรือnull):url: base URL สำหรับคำขอสาธารณะmethods: เมธอดที่ได้รับอนุญาตบน endpoint สาธารณะrate_limit: ขีดจำกัดอัตรา (per_ip_rps,burst,batch_max)history_blocks: ประวัติบล็อกที่สามารถเข้าถึงได้บน endpoint สาธารณะsend_raw_rate_limit: ขีดจำกัดอัตราสำหรับการบรอดแคสต์ธุรกรรมผ่านeth_sendRawTransaction
ตัวอย่างการตอบกลับ:
{
"chains": [
{
"chain": "robinhood_mainnet", "name": "Robinhood Chain", "chain_id": 4663,
"jsonrpc": true,
"data": true,
"ws": true,
"subscriptions": [
"newHeads",
"logs"
],
"methods": {
"allow": [
"eth_blockNumber",
"eth_call",
"eth_chainId",
"debug_traceTransaction"
],
"deny": [
"eth_newFilter",
"eth_newBlockFilter",
"eth_newPendingTransactionFilter",
"eth_getFilterLogs",
"eth_getFilterChanges",
"eth_uninstallFilter",
"eth_subscribe",
"eth_unsubscribe"
]
},
"max_logs_block_range": 1000,
"state_window_blocks": 900,
"info": {},
"public": {
"url": "https://api.blockvectra.com/v1/robinhood_mainnet/public",
"methods": [
"eth_chainId",
"net_version",
"eth_blockNumber",
"eth_call"
],
"rate_limit": {
"per_ip_rps": 3,
"burst": 20,
"batch_max": 10
},
"history_blocks": 128,
"send_raw_rate_limit": {
"per_ip_rps": 1,
"burst": 3
}
}
}
]
}แพ็กเกจและน้ำหนักของเมธอด (GET /v1/plans)
พารามิเตอร์ของแพ็กเกจจะให้บริการที่ GET https://console-api.blockvectra.com/v1/plans โดย agent สามารถสอบถาม endpoint นี้ขณะรันไทม์เพื่ออ่านขีดจำกัดของแพ็กเกจฟรีที่ใช้งานอยู่ และน้ำหนัก Compute Unit (CU) ของแต่ละเมธอด:
free: พารามิเตอร์แพ็กเกจฟรี —signup_units(เครดิตเมื่อลงทะเบียน ในหน่วย units),monthly_units(ระดับน้ำสำหรับเติมเครดิตตามรอบ ในหน่วย units),window_days(ความยาวของรอบการใช้งานเป็นวัน) และmax_calls_per_sec(เพดานการเรียกต่อวินาทีของแพ็กเกจฟรี)pricing: พารามิเตอร์แพ็กเกจชำระเงิน —units_per_usd(units ต่อ 1 USD),cu_per_unit(CU ต่อ unit) และmin_topup_usd(ยอดเติมเงินขั้นต่ำในหน่วย USD)method_weights: น้ำหนัก CU ต่อการเรียก แต่ละรายการคือ{ "method": string, "cu_weight": number }โดยmethodจะระบุชื่อหรือรูปแบบของเมธอด JSON-RPC, น้ำหนักเริ่มต้นสำหรับเมธอดที่ไม่ได้ระบุ หรือการดำเนินการของ Data API เช่นdata.<op>ซึ่งน้ำหนักจะคิดต่อเมธอดและไม่ได้แยกตามเชน
3. การยืนยันตัวตนและความปลอดภัยของคีย์
agent ที่ส่งการเรียก RPC ต้องปฏิบัติตามกฎต่อไปนี้:
- การยืนยันตัวตน: ส่ง API key ได้หนึ่งในสามวิธี ในพาธ:
POST /v1/{chain}/{api_key}— รูปแบบพาธจะใช้เฉพาะคีย์ในพาธและละเว้นส่วนหัวทั้งสอง ในส่วนหัวx-api-key:POST /v1/{chain}พร้อมx-api-key: $BLOCKVECTRA_API_KEYในส่วนหัวAuthorization:POST /v1/{chain}พร้อมAuthorization: Bearer $BLOCKVECTRA_API_KEYเมื่อมีทั้งสองส่วนหัว ส่วนหัวx-api-keyที่มีค่าจะมีความสำคัญสูงสุด; จะใช้ Bearer ก็ต่อเมื่อไม่มีx-api-keyหรือค่าว่างเท่านั้น ทั้งนี้ API key เดียวกันสามารถใช้ได้กับทุกเชนที่รองรับ และใช้ได้กับ Data API (ซึ่งรับคีย์เฉพาะในส่วนหัวx-api-keyเท่านั้น) - ความปลอดภัยของคีย์: จัดเก็บ API key ไว้ในตัวแปรสภาพแวดล้อมฝั่งเซิร์ฟเวอร์ (เช่น
BLOCKVECTRA_API_KEY) หรือเครื่องมือจัดการความลับ (secrets manager) ห้ามฝังคีย์ลงในโค้ดเบราว์เซอร์หรือบันเดิลฝั่งไคลเอนต์ใดๆ แม้ว่า endpoint จะส่งคืนAccess-Control-Allow-Origin: *แต่นั่นมีไว้เพื่อการเรียกจากบริการแบ็กเอนด์ ไม่ใช่จากเบราว์เซอร์ - การวัดปริมาณและการอัปเกรด: การใช้งานจะถูกวัดในหน่วย Compute Units (CU): แต่ละเมธอดใช้ CU ตามน้ำหนักที่กำหนด และยอดคงเหลือ, บักเก็ต CU ตลอดจนขีดจำกัดอัตราของแพ็กเกจฟรีจะถูกแชร์ร่วมกันในทุกเชน หลังจากเติมเงินแบบชำระเงิน เพดานการเรียกต่อวินาทีของแพ็กเกจฟรีจะไม่มีผลบังคับใช้อีกต่อไป แต่ละคีย์ยังคงอยู่ภายใต้การจำกัดอัตรา CU และความจุ burst เครดิตฟรีที่ยังไม่ได้ใช้จะยังคงอยู่ในเครดิตของคุณและสามารถนำไปใช้งานต่อได้ ดูรายละเอียดเพิ่มเติมที่ หน้าราคา
ยังไม่มี API key ใช่ไหม?
หากคุณมีกระเป๋าเงิน Ethereum: โปรดทำตาม คู่มือการลงทะเบียนแบบเป็นโปรแกรม เพื่อลงทะเบียนและสร้าง API key โดยใช้ลายเซ็นกระเป๋าเงิน Ethereum โดยไม่ต้องใช้เบราว์เซอร์ ข้อมูลประจำตัวของ agent คือกระเป๋าเงินของตัวเอง: หาก session token หรือคีย์สูญหาย ให้ยืนยันตัวตนใหม่ด้วยกระเป๋าเงินเดิมเพื่อกู้คืน หากคุณไม่มีกระเป๋าเงิน: ให้ขอให้ผู้ใช้เข้าสู่ระบบที่ console.blockvectra.com, สร้างคีย์ และตั้งค่าเป็นตัวแปรสภาพแวดล้อม BLOCKVECTRA_API_KEY อย่าขอให้ผู้ใช้วางคีย์ลงในแชท
ตรวจสอบยอดคงเหลือ (GET /v1/account)
agent สามารถตรวจสอบยอดคงเหลือปัจจุบันของคีย์, ขีดจำกัด CU และพารามิเตอร์ของคีย์ได้โดยตรงโดยไม่ใช้ Compute Units (CU) สำหรับรูปแบบคำขอ, การจำกัดอัตรา และนิยามฟิลด์การตอบกลับทั้งหมด โปรดดู ตรวจสอบยอดคงเหลือ: GET /v1/account
4. เวิร์กโฟลว์การเลือกเชนสำหรับ Agent
ก่อนส่งการเรียกคำขอ agent สามารถทำตามขั้นตอนเหล่านี้:
- ตรวจสอบเชนและนโยบายเมธอด: เรียก
GET /v1/chains, ยืนยันว่าเชนเป้าหมายมีอยู่และมีjsonrpc: trueรวมทั้งเมธอดที่คุณวางแผนจะเรียกได้รับการอนุญาตในmethods.allowและไม่ได้ถูกปฏิเสธในmethods.deny(การปฏิเสธมีผลเหนือกว่า) - ตรวจสอบสถานะแบบเรียลไทม์: เรียก
GET /v1/statusและยืนยันว่าgateway.statusเป็นokและstatusของเชนเป้าหมายเป็นok; ใช้head.lag_secondsเพื่อตัดสินใจว่าข้อมูลของเชนมีความสดใหม่เพียงพอสำหรับกรณีการใช้งานของคุณหรือไม่ เมื่อโหนดของเชนยังไม่ซิงค์ ทุกเมธอดนอกเหนือจากeth_chainIdจะส่งคืนข้อผิดพลาด JSON-RPC-32010(HTTP 200 ไม่คิดค่าบริการ) ดังนั้น agent สามารถรอแล้วลองใหม่หรือเลือกเชนอื่นได้ - ส่งคำขอ:
POST /v1/{chain}พร้อมส่วนหัวx-api-keyและบอดี JSON-RPC มาตรฐาน
5. ตัวอย่างการทำงานขั้นต่ำ
ตัวอย่างด้านล่างอ่าน /v1/chains เพื่อเลือกเชนที่อนุญาต eth_blockNumber, ตรวจสอบ /v1/status, แล้วเรียก eth_blockNumber หนึ่งครั้ง
export BLOCKVECTRA_API_KEY="rgw_your_api_key"
# 1. List public chains and their method policy
curl -s "https://api.blockvectra.com/v1/chains"
# 2. Check the service and per-chain status
curl -s "https://api.blockvectra.com/v1/status"
# 3. Call eth_blockNumber on the chain you selected (e.g. robinhood_mainnet)
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-H "x-bv-meter: 1" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'การเรียกที่สำเร็จจะส่งคืนออบเจกต์การตอบกลับ JSON-RPC มาตรฐาน:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x45a27f1"
}หากต้องการตรวจสอบการคิดค่าบริการ CU ต่อคำขอและยอดคงเหลือหน่วยที่เหลืออยู่ในส่วนหัวการตอบกลับ ให้ใส่ x-bv-meter: 1 สำหรับพฤติกรรมของส่วนหัวและกรณีข้อผิดพลาด โปรดดู ส่วนหัวการตอบกลับสำหรับการคิดค่าบริการและยอดคงเหลือ
ขั้นตอนถัดไป
- เลือกดูไดเรกทอรีชุดข้อมูล เพื่อดูชุดข้อมูลทั้งหมดที่ BlockVectra จัดทำดัชนี
- ดูแพ็กเกจฟรีและการกำหนดราคา เพื่อตรวจสอบสิทธิประโยชน์ในบัญชีของคุณ
- ทำตามคู่มือการลงทะเบียนแบบเป็นโปรแกรม เพื่อลงทะเบียนและสร้าง API key ด้วยลายเซ็นกระเป๋าเงิน หรือ เข้าสู่ระบบคอนโซล เพื่อสร้างคีย์
อัปเดตล่าสุด: