ข้ามไปยังเนื้อหาหลัก
การควบคุมการใช้จ่าย

เอเจนต์ของคุณไม่สามารถใช้จ่ายเกินกว่าที่คุณตั้งค่าไว้

ตั้งค่าการอนุญาตต่อช่วงเวลาและขีดจำกัดต่อการทำธุรกรรมในแต่ละตัวแทนในแดชบอร์ด แบ็กเอนด์บังคับใช้กับการชำระเงินที่ออกทุกครั้ง - โค้ดของตัวแทนไม่สามารถหลีกเลี่ยงได้

มุมมองแดชบอร์ด: สิทธิการใช้จ่ายต่อเอเจนต์ - การอนุญาต ขีดจำกัดต่อการทำธุรกรรม ระยะเวลา

ตัวแทนอิสระทำผิดพลาด. พวกเขาลองใหม่. พวกเขาทำซ้ำ. พวกเขาถูกฉีดคำสั่ง. พวกเขาบางครั้งพยายามใช้จ่ายเงินที่คุณไม่ได้อนุญาต.

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

สิ่งที่สิทธิ์การใช้จ่ายมี

สี่มิติ. ตั้งค่าเพียงครั้งเดียว. บังคับใช้ทุกที่.

การอนุญาตตามช่วงเวลา

allowance_wei คือ USDC รวม (หน่วยพื้นฐาน) ที่เอเจนต์สามารถส่งได้ในช่วงเวลา period_seconds หนึ่งช่วง เวลาเป็นวัน (86400), สัปดาห์ (604800), หรือ 30 วัน (2592000)

ขีดจำกัดต่อการทำธุรกรรม

per_tx_wei คือการชำระเงินขาออกครั้งเดียวที่ใหญ่ที่สุดที่อนุญาต มันหยุดการโทรที่ผิดพลาดไม่ให้เคลื่อนย้ายมากกว่าที่คุณตั้งใจไว้ โดยไม่คำนึงถึงการอนุญาตในช่วงเวลา

หน้าต่างความถูกต้อง

start_at และ end_at จะถูกผูกเมื่อสิทธิ์ใช้งานอยู่ นอกเหนือจากหน้าต่างจะไม่อนุญาตให้ใช้จ่าย ดังนั้นคุณสามารถเตรียมงบประมาณล่วงหน้าหรือปล่อยให้หมดอายุเอง.

การเพิกถอน

revoked_at บันทึกเมื่อสิทธิ์ถูกปิดจากแดชบอร์ด การเพิกถอนจะทำให้การอนุญาตเป็นศูนย์ทันทีสำหรับการชำระเงินใด ๆ ที่ประเมินหลังจากนั้น.

จัดการโดยแดชบอร์ด อ่านได้เฉพาะผ่าน API

กุญแจของตัวแทนไม่สามารถเพิ่มขีดจำกัดของตนเองได้

คุณสร้าง เปลี่ยนแปลง และเพิกถอนสิทธิ์การใช้จ่ายในแดชบอร์ด API เปิดเผยให้เห็นเฉพาะการอ่าน - ไม่มีจุดสิ้นสุดและไม่มีวิธีการ SDK ที่เปลี่ยนแปลงสิทธิ์ นั่นคือจุดประสงค์ทั้งหมด: หากเอเจนต์ถูกฉีดคำสั่งหรือถูกติดอยู่ในลูป มันไม่สามารถขยายการอนุญาตของตนเองได้ เพราะข้อมูลประจำตัวที่ถืออยู่ไม่เคยได้รับอนุญาตให้มีอำนาจนั้น

เมื่อการชำระเงินเกินสิทธิ์ที่ใช้งานอยู่ ระบบแบ็กเอนด์จะปฏิเสธก่อนที่สิ่งใดจะสัมผัสกับเครือข่าย ไม่มีเงินเคลื่อนย้าย ตัวแทนของคุณจัดการการปฏิเสธนั้นเหมือนกับการโทรที่ล้มเหลวอื่น ๆ และคุณจะเห็นความพยายามในแดชบอร์ดเพื่อให้คุณสามารถขยายสิทธิ์ได้หากมันถูกต้อง

อ่านผ่าน API

ดึงสิทธิ์ปัจจุบันเพื่อแสดงหรือวางแผนรอบมัน.

GET /v1/agents/{id}/spend-permissions คืนค่าค่าที่ใช้งานอยู่. ใช้เพื่อแสดงงบประมาณใน UI ของคุณ, หรือให้เอเจนต์ตรวจสอบว่ามีพื้นที่เหลือเท่าไหร่ก่อนที่จะลองชำระเงิน.

อ่าน (CURL)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
การตอบสนอง
{
  "allowance_wei": "5000000",
  "per_tx_wei": "1000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
allowance_wei

Total spend allowed per period, in USDC base units (6 decimals). "5000000" is 5 USDC.

per_tx_wei

Largest single payment allowed, in base units. "1000000" is 1 USDC. A payment over this is rejected even if the period allowance has room.

period_seconds

หน้าต่างที่การอนุญาตใช้ได้: 86400 (วัน), 604800 (สัปดาห์) หรือ 2592000 (30 วัน).

start_at / end_at

เมื่อสิทธิ์ใช้งานอยู่ end_at เป็น null สำหรับสิทธิ์ที่ไม่มีวันสิ้นสุด

revoked_at

เป็น Null ขณะทำงาน; แทนที่ด้วยเวลาที่ถูกเพิกถอนจากแดชบอร์ด การอนุญาตที่ถูกเพิกถอนไม่อนุญาตอะไรเลย

ช่วงเวลา

วัน สัปดาห์ หรือ 30 วัน.

period_seconds ใช้ค่าหนึ่งจากสามค่า การอนุญาตจะรีเซ็ตเมื่อช่วงเวลาหมุน; per_tx_wei ใช้กับการชำระเงินแต่ละครั้งโดยไม่คำนึงถึงช่วงเวลา

86400

1 วัน

604800

1 สัปดาห์

2592000

30 วัน

การอนุญาตการใช้จ่ายเป็นขีดจำกัดที่เข้มงวด ตั้งค่าเพียงครั้งเดียว บังคับใช้ทุกที่ - ไม่ใช่กระบวนการอนุมัติแบบชำระเงินและไม่ใช่การยืนยันที่มีมนุษย์อยู่ในกระบวนการ หากคุณต้องการการอนุมัติหรือหลายลายเซ็น นั่นคือรูปแบบที่แยกต่างหากและหนักกว่า; การอนุญาตคือพื้นฐานที่เปิดอยู่เสมอ.

คำถามที่พบบ่อย

ห้าคำถามเกี่ยวกับสิทธิ์การใช้จ่ายที่ผู้ดำเนินการถาม.

ฉันสามารถตั้งค่าหรือเปลี่ยนสิทธิการใช้จ่ายผ่าน API ได้หรือไม่?

ไม่ สิทธิการใช้จ่ายเป็นแบบอ่านอย่างเดียวผ่าน API คุณสร้าง เปลี่ยนแปลง และเพิกถอนมันในแดชบอร์ด Blockchain0x และ GET /v1/agents/{id}/spend-permissions จะให้โค้ดของคุณอ่านค่าปัจจุบันเพื่อแสดงหรือตรวจสอบ สิ่งนี้เป็นเจตนา: คีย์ API ของตัวแทนเองไม่สามารถผ่อนคลายขีดจำกัดของตัวเองได้ ซึ่งเป็นคุณสมบัติที่คุณต้องการหากตัวแทนถูกฉีดคำสั่งหรือวนซ้ำ เพื่อเพิ่มการอนุญาตคุณต้องการแดชบอร์ด

เกิดอะไรขึ้นเมื่อการชำระเงินเกินสิทธิ์?

แบ็กเอนด์ปฏิเสธก่อนที่อะไรจะสัมผัสกับเครือข่าย - ไม่มีเงินเคลื่อนที่ การบังคับใช้มีอยู่ในแบ็กเอนด์ ไม่ใช่ในโค้ดของตัวแทน ดังนั้นตัวแทนจึงไม่สามารถหลีกเลี่ยงได้แม้ว่าตรรกะของมันจะพยายาม อ่านการอนุญาตด้วยเส้นทาง GET เพื่อแสดงให้ตัวแทนของคุณเห็นว่ามีพื้นที่เหลือเท่าใด และจัดการกับการปฏิเสธจาก payments.create ในลักษณะที่คุณจะทำกับการโทรที่ล้มเหลวอื่น ๆ

ทำไมจำนวนถึงเป็น wei แทนที่จะเป็นดอลลาร์?

Consistency with the rest of the API: every amount is a base-unit string. USDC has 6 decimals, so allowance_wei "5000000" is 5 USDC and per_tx_wei "1000000" is 1 USDC. Strings, not floats - large integers lose precision as JSON numbers, and a base-unit string is unambiguous across languages.

สิทธิการใช้จ่ายจำกัดการชำระเงินขาเข้าหรือไม่?

ไม่ การอนุญาตเพียงควบคุมเงินที่ออกจากกระเป๋าเงิน USDC ที่เข้ามาจะไม่ถูกบล็อกโดยมัน - ใครก็สามารถชำระเงินให้กับตัวแทนของคุณได้ตลอดเวลา คิดว่าการอนุญาตเป็นวาล์วทางเดียวสำหรับการใช้จ่ายที่ออกไป; การชำระเงินที่เข้ามาจะได้รับการยืนยันแยกต่างหากโดย webhook payment.received

ฉันจะยกเลิกการใช้จ่ายได้อย่างรวดเร็วหากมีบางอย่างดูไม่ถูกต้อง?

เพิกถอนการอนุญาตในแดชบอร์ด - ซึ่งตั้งค่า revoked_at และนำจำนวนเงินไปเป็นศูนย์สำหรับการชำระเงินใดๆ ที่ประเมินหลังจากนั้น สำหรับการหยุดที่ยากขึ้นคุณยังสามารถหมุนหรือเพิกถอนคีย์ API ของตัวแทน (apiKeys.rotate / apiKeys.revoke) ซึ่งตัดการเข้าถึงข้อมูลอย่างสมบูรณ์ ทั้งสองอย่างเป็นการดำเนินการทันที; การเพิกถอนการอนุญาตเป็นการดำเนินการที่เฉพาะเจาะจง การเพิกถอนคีย์เป็นการสั่งฆ่า.

ใช้จ่ายด้วยขีดจำกัด ไม่ใช่ความประหลาดใจ.

ตั้งค่าการอนุญาตและขีดจำกัดต่อการทำธุรกรรมในแดชบอร์ด แบ็กเอนด์จะทำส่วนที่เหลือ