ตั้งค่าการควบคุมการใช้จ่ายของตัวแทนที่สามารถอยู่รอดจากการฉีดคำสั่ง.
ตั้งค่าการอนุญาตการใช้จ่ายในแดชบอร์ด - การอนุญาตต่อช่วงเวลาและขีดจำกัดต่อการทำธุรกรรม - และแบ็กเอนด์จะบังคับใช้กับการชำระเงินทุกครั้ง เนื่องจากมันอยู่ในแบ็กเอนด์และ API เป็นแบบอ่านอย่างเดียว การฉีดคำสั่งที่แฮ็กแผนของตัวแทนยังไม่สามารถเพิ่มขีดจำกัดได้ โค้ดของคุณอ่านการอนุญาตผ่าน API เพื่อแสดงหรือวางแผนรอบๆ
ก่อนที่คุณจะเริ่ม.
- เอเจนต์ที่มีอยู่ (ดูที่ add-payments-to-agent guide)
- การเข้าถึงแดชบอร์ดสำหรับพื้นที่ทำงานที่เป็นเจ้าของเอเจนต์ - สิทธิ์จะถูกตั้งค่าไว้ที่นั่น ไม่ใช่ผ่าน API.
- แนวคิดคร่าว ๆ ของการใช้จ่ายรายวันที่คาดหวัง - การอนุญาตควรอยู่ที่ 2-3x การใช้งานปกติ ไม่ใช่ 100x ดังนั้นมันจึงสามารถรับน้ำหนักได้จริง.
- คีย์ API สำหรับอ่านการอนุญาต (คีย์
sk_test_ใช้ได้สำหรับคู่มือนี้) - ความคุ้นเคยกับ แนวคิดนโยบายการใช้จ่ายของเอเจนต์ - คู่มือนี้เป็นคู่มือการดำเนินงานของมัน
ตั้งค่าการอนุญาตในแดชบอร์ด.
เปิดตัวแทนในแดชบอร์ด Blockchain0x และตั้งค่าหมายเลขสองหมายเลข: การอนุญาตในช่วงเวลา (หนึ่งวัน, หนึ่งสัปดาห์, หรือ 30 วัน) และขีดจำกัดต่อการทำธุรกรรม การอนุญาตกำหนดกรณีที่เลวร้ายที่สุดตลอดทั้งช่วงเวลา; ขีดจำกัดต่อการทำธุรกรรมหยุดคำขอที่ผิดปกติหนึ่งรายการจากการใช้จ่ายทั้งหมดในครั้งเดียว นี่เป็นการกระทำในแดชบอร์ดโดยเจตนา - มันคือขอบเขตที่ตั้งค่าด้วยมนุษย์ที่ตัวแทนทำงานอยู่
Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.
อ่านการอนุญาตผ่าน API.
โค้ดของคุณสามารถดึงสิทธิ์ที่ใช้งานอยู่เพื่อแสดงใน UI หรือให้เอเจนต์ตรวจสอบว่ามีพื้นที่เหลือเท่าใดก่อนที่จะลองชำระเงิน เส้นทางเป็นแบบอ่านอย่างเดียว - ไม่มีจุดสิ้นสุดที่เปลี่ยนแปลง ซึ่งเป็นเหตุผลที่คีย์ของเอเจนต์ไม่สามารถขยายขีดจำกัดของตนเองได้
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
-H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"{
"allowance_wei": "20000000",
"per_tx_wei": "2000000",
"period_seconds": 86400,
"start_at": "2026-05-15T00:00:00Z",
"end_at": null,
"revoked_at": null
}กำหนดเวลาให้มัน หรือเพิกถอนมัน.
สองฟิลด์ทำให้สิทธิ์กลายเป็นการควบคุมที่มีระยะเวลาจำกัด start_at และ end_at กำหนดช่วงเวลาที่มันมีผล ดังนั้นคุณสามารถเตรียมงบประมาณสำหรับงานที่กำหนดไว้ล่วงหน้าหรือปล่อยให้หมดอายุเอง; นอกเหนือจากช่วงเวลานั้นจะไม่อนุญาตอะไร revoked_at คือสวิตช์ปิด: เพิกถอนจากแดชบอร์ดและการอนุญาตจะลดลงเป็นศูนย์สำหรับการชำระเงินใด ๆ ที่ประเมินหลังจากนั้น
เพื่อหยุดที่แน่นหนากว่า, ยกเลิกหรือหมุน API key ของเอเจนต์ด้วย apiKeys.revoke หรือ apiKeys.rotate - ซึ่งจะตัดการเข้าถึงอย่างสิ้นเชิง, ไม่ใช่แค่การใช้จ่าย. การยกเลิกสิทธิ์เป็นการเคลื่อนไหวที่แม่นยำ; การยกเลิกกุญแจเป็นสวิตช์ตัด.
จัดการการชำระเงินที่ถึงขีดจำกัด.
เมื่อการชำระเงินเกินสิทธิ์ที่ใช้งานอยู่ ระบบแบ็กเอนด์จะปฏิเสธก่อนที่สิ่งใดจะสัมผัสกับเครือข่าย - ไม่มีเงินเคลื่อนย้าย การเรียก payments.create ของคุณส่งคืนข้อผิดพลาด; จัดการเหมือนกับการโทรที่ล้มเหลวอื่น ๆ แสดงให้ผู้ดำเนินการของคุณเห็น และอย่าพยายามทำซ้ำโดยไม่มองเข้าไปในกำแพงเดียวกัน
เพื่อดูสิ่งที่ตัวแทนพยายามทำ ให้ดูบันทึกกิจกรรมของแดชบอร์ดและปรับยอดการเคลื่อนไหวจริงกับ transactions.get การพยายามที่ถูกปฏิเสธอย่างรวดเร็วเป็นสัญญาณเตือนล่วงหน้าของคุณ: ไม่ว่าจะเป็นการอนุญาตที่กำหนดค่าไม่ถูกต้อง วงจรที่หลุดลอย หรือการตรวจสอบการฉีด แจ้งเตือนเกี่ยวกับมันในลักษณะเดียวกับที่คุณจะทำในกรณีที่มีการเรียกที่ล้มเหลว.
ห้าข้อผิดพลาดที่ทำให้การควบคุมล้มเหลว.
การใส่ขีดจำกัดการใช้จ่ายในรหัสตัวแทนแทนที่จะเป็นระบบหลังบ้าน
กฎการใช้จ่ายในแผนของตัวแทนหรือคำสั่งของระบบไม่ใช่ขอบเขตด้านความปลอดภัย การโจมตีด้วยการฉีดคำสั่งที่เขียนทับแผนก็เขียนทับขีดจำกัดด้วย จุดประสงค์ทั้งหมดของการอนุญาตการใช้จ่ายคือมันอยู่ภายนอกขอบเขตที่ตัวแทนสามารถจัดการได้ - ที่แบ็กเอนด์ ตั้งค่าในแดชบอร์ด - ดังนั้นตัวแทนจึงไม่สามารถเปลี่ยนแปลงได้ ตั้งค่าไว้ที่นั่น ไม่ใช่ด้วย 'บอกตัวแทนว่าอย่าใช้จ่ายเกิน $X'
คาดหวังว่า API key ของเอเจนต์จะขยายขอบเขต
API เป็นแบบอ่านอย่างเดียวสำหรับการอนุญาตการใช้จ่าย: ไม่มีจุดสิ้นสุดและไม่มีวิธี SDK ที่เพิ่มการอนุญาต นั่นเป็นการตั้งใจ หากตัวแทนที่ถูกแฮ็กหรือถูกฉีดสามารถเรียกใช้จุดสิ้นสุดที่เปลี่ยนแปลงด้วยกุญแจที่มันถืออยู่แล้ว การควบคุมจะไม่มีค่าใด ๆ เพื่อเปลี่ยนขีดจำกัดคุณใช้แดชบอร์ด ซึ่งการเปลี่ยนแปลงเป็นการกระทำของมนุษย์ที่มีเส้นทางการตรวจสอบ
ตั้งค่าการอนุญาตให้สูงมากจนไม่เคยกัด
การอนุญาตจะปกป้องคุณได้ก็ต่อเมื่อมันสามารถรับน้ำหนักได้ การอนุญาตที่ตั้งไว้ที่ 100x การใช้งานปกติจะไม่หยุดวงจรที่หลุดลอยจนกว่ามันจะใช้จ่ายไปมากกว่าที่คุณต้องการ ขนาดการอนุญาตและขีดจำกัดต่อธุรกรรมที่ประมาณ 2-3x การใช้งานที่คาดหวัง จากนั้นขยายออกอย่างตั้งใจหากการจราจรจริงพิสูจน์ว่าคุณต้องการ.
ลืมขีดจำกัดต่อธุรกรรม
allowance_wei จำกัดกรณีที่เลวร้ายที่สุดตลอดทั้งช่วงเวลา; per_tx_wei จำกัดการชำระเงินใดๆ เพียงรายการเดียว พวกเขาทำงานที่แตกต่างกัน การอนุญาตในช่วงเวลาที่กว้างขวางโดยไม่มีขีดจำกัดต่อการทำธุรกรรมยังคงอนุญาตให้คำขอที่ผิดปกติหนึ่งรายการ - การลองใหม่ที่มีข้อบกพร่อง, ราคาที่ถูกอ้างอิงอย่างไม่เหมาะสม - ย้ายจำนวนมากในครั้งเดียว ตั้งทั้งสอง
ไม่มีการซ้อมสวิตช์ฆ่าอย่างรวดเร็ว
เมื่อสิ่งใดดูผิดปกติในเวลา 2 โมงเช้า คุณต้องการการเคลื่อนไหวที่คุณได้ฝึกฝนไว้แล้ว สองอย่างมีอยู่: เพิกถอนสิทธิ์ในแดชบอร์ด (ตั้ง revoked_at, การอนุญาตเป็นศูนย์) หรือเพิกถอน/หมุนคีย์ API ของตัวแทนด้วย apiKeys.revoke / apiKeys.rotate (ตัดข้อมูลประจำตัวทั้งหมด) รู้ว่าคุณจะหยิบอันไหนและคุณสามารถทำได้อย่างรวดเร็ว
หลังจากที่ได้รับอนุญาตแล้ว
เมื่อมีการบังคับใช้สิทธิ์ การติดตามที่ให้ผลตอบแทนมากที่สุดคือการจัดการ webhook ที่เชื่อถือได้ (เพื่อให้เหตุการณ์การชำระเงินถึงตัวจัดการของคุณจริง ๆ) การตรวจสอบตัวตน (เพื่อให้คู่ค้าเชื่อมั่นในโปรไฟล์ของตัวแทน) และการตรวจสอบความปลอดภัยก่อนเปิดตัว (เพื่อให้คุณไม่ได้เปิดประตูอื่นทิ้งไว้)
รูปแบบ webhook ที่นักพัฒนาถามบ่อยที่สุด
รับป้ายการตรวจสอบ GitHub และโดเมน
รักษาความปลอดภัยให้กับกระเป๋าเงินของตัวแทนก่อนที่จะเปิดใช้งาน
เอกสารอ้างอิงเต็มรูปแบบที่ docs.blockchain0x.com. พื้นผิวผลิตภัณฑ์: การควบคุมการใช้จ่าย.