Runbooks
Danh sách kiểm tra đầy đủ về mức độ sẵn sàng của desk và các bài kiểm tra chứng nhận tích hợp.
Danh sách kiểm tra mức độ sẵn sàng của desk
Trước khi chính thức hoạt động, vui lòng xác minh:
Kết nối API
- Đã cấu hình các endpoint production
- Endpoint health check phản hồi bình thường
- Kết nối WebSocket ổn định
Xác thực
- Ký EIP-712 hoạt động
- Đã cấu hình ủy quyền agent (nếu áp dụng)
- Đã triển khai quản lý nonce
- Đã kiểm thử xác minh chữ ký
Hệ thống báo giá
- Đã kiểm thử đặt lệnh hàng loạt
- Đã xác minh đối soát vòng đời lệnh
- Đã triển khai theo dõi khớp lệnh
- Đã kiểm thử chức năng hủy lệnh
Kiểm soát rủi ro
- Đã cấu hình và kiểm thử MMP
- Đã hiểu mô hình ký quỹ
- Đã xác minh các giới hạn theo tier
- Đã triển khai giám sát danh mục
Giám sát
- Đã đăng ký các luồng dữ liệu WebSocket
- Đã tự động hóa đối soát lệnh/khớp lệnh
- Đã cấu hình health check
- Đã thiết lập cảnh báo
Kill Switch
- Có khả năng hủy tất cả lệnh
- Có khả năng ngắt kết nối ngay lập tức
- Đã lập tài liệu quy trình khẩn cấp
Phòng hộ
- Đã xác minh tích hợp với perp trên Hyperliquid
- Đã triển khai chiến lược phòng hộ delta
- Đã hiểu cách tính ký quỹ perp
Thanh toán
- Đã kiểm thử xử lý ngày đáo hạn
- Đã xác minh thanh toán vị thế
- Đã hiểu nguồn giá tham chiếu
Các bài kiểm tra chứng nhận tích hợp
Kiểm tra 1: Đặt lệnh
Các bước:
- Đặt một lệnh đơn qua
POST /order - Xác minh trạng thái trong phản hồi lệnh là
ACKEDhoặcOPEN - Kiểm tra lệnh xuất hiện trong
GET /orders?wallet=... - Xác minh đã nhận được
order_updatesqua WebSocket
Kết quả mong đợi: Lệnh được đặt thành công, nhận được cập nhật trạng thái
Kiểm tra 2: Đặt lệnh hàng loạt
Các bước:
- Đặt 10 lệnh qua
POST /bulk_order - Xác minh tất cả lệnh đều được chấp nhận
- Kiểm tra trạng thái lệnh qua REST và WS
- Xác minh không có lỗi chữ ký/xác thực
Kết quả mong đợi: Tất cả lệnh được đặt thành công
Kiểm tra 3: Theo dõi khớp lệnh
Các bước:
- Đặt một lệnh sẽ được khớp
- Theo dõi kênh
fillstrên WebSocket - Xác minh đã nhận được khớp lệnh với
order_idchính xác - Kiểm tra khớp lệnh xuất hiện trong
GET /fills?wallet=... - Xác minh trạng thái lệnh được cập nhật thành
FILLED
Kết quả mong đợi: Khớp lệnh được theo dõi chính xác, trạng thái lệnh được cập nhật
Kiểm tra 4: Theo dõi khớp lệnh một phần
Các bước:
- Đặt một lệnh sẽ được khớp một phần
- Theo dõi các kênh
fillsvàorder_updatestrên WebSocket - Xác minh khớp lệnh một phần xuất hiện trên
fills - Xác minh
order_updatesbáo cáoPARTIALLY_FILLEDkèmfilled_sizelũy kế - Tổng hợp các khớp lệnh theo
order_idvà kiểm tra tổng bằngfilled_size
Kết quả mong đợi: Khối lượng từng lần khớp trên fills, khối lượng đã khớp lũy kế trên order_updates
Kiểm tra 5: Hủy lệnh
Các bước:
- Đặt lệnh qua
POST /order - Hủy lệnh qua
DELETE /order - Xác minh trạng thái lệnh:
CANCELED - Kiểm tra đã nhận được
order_updatesqua WebSocket
Kết quả mong đợi: Lệnh được hủy thành công, nhận được cập nhật trạng thái
Kiểm tra 6: Kích hoạt MMP
Các bước:
- Cấu hình MMP qua
POST /mmp-configcó chữ ký. GửiX-Hypercall-Fence-Wait: 1khi client sẽ đọc projection ngay sau đó, và lưu lại giá trịX-Hypercall-Fenceđược trả về. - Đặt các lệnh có bật MMP
- Kích hoạt MMP bằng cách vượt quá giới hạn
- Xác minh các lệnh bị hủy với lý do MMP
- Kiểm tra các lệnh có bật MMP khác cũng bị hủy
Kết quả mong đợi: MMP kích hoạt chính xác, các lệnh bị hủy
Việc đọc cấu hình MMP cũng yêu cầu xác thực. Hãy ký GetMmpConfig và
gửi thời điểm hết hạn cùng chữ ký trong các header X-Hypercall-Expires-At-Ms và
X-Hypercall-Signature. Gửi lại giá trị X-Hypercall-Fence từ phản hồi
của lệnh ghi trong yêu cầu GET này để chờ đúng cấu hình đã được commit đó.
Các lệnh ghi không có X-Hypercall-Fence-Wait: 1 sẽ cố ý không trả về
header fence.
Kiểm tra 7: Từ chối do ký quỹ
Các bước:
- Đặt lệnh vượt quá mức ký quỹ
- Xác minh lệnh bị từ chối với lý do "Insufficient margin"
- Kiểm tra lý do từ chối có bao gồm các giá trị yêu cầu, vốn chủ sở hữu và phần thiếu hụt
- Xác minh trạng thái lệnh:
REJECTED
Kết quả mong đợi: Lệnh bị từ chối với lý do rõ ràng
Kiểm tra 8: Giới hạn theo tier
Các bước:
- Sử dụng một ví có tier chỉ cho phép bán có tài sản đảm bảo (covered sell) (kiểm tra
GET /risk/limits?wallet=...) - Thử đặt lệnh bán khi không có vị thế long
- Xác minh lệnh bị từ chối với lý do liên quan đến tier
- Đặt lệnh mua (sẽ thành công)
- Đặt lệnh bán để đóng vị thế (sẽ thành công)
Kết quả mong đợi: Các giới hạn theo tier được áp dụng chính xác
Kiểm tra 9: Kết nối lại WebSocket
Các bước:
- Kết nối tới WebSocket
- Đăng ký các kênh
- Ngắt kết nối WebSocket
- Kết nối lại với exponential backoff
- Đăng ký lại các kênh
- Truy vấn REST để cập nhật những thay đổi bị bỏ lỡ
Kết quả mong đợi: Kết nối lại hoạt động, trạng thái được khôi phục
Kiểm tra 10: Đối soát danh mục
Các bước:
- Đặt lệnh và khớp lệnh
- Kiểm tra danh mục qua
GET /portfolio?wallet=... - Xác minh các vị thế khớp với các lần khớp lệnh
- Kiểm tra mức sử dụng ký quỹ chính xác
- Đối soát với các cập nhật
portfolioqua WebSocket
Kết quả mong đợi: Trạng thái danh mục chính xác, đối soát thành công
Sẵn sàng cho production
Danh sách kiểm tra trước production
- Đã vượt qua tất cả bài kiểm tra tích hợp
- Đã cấu hình giám sát và cảnh báo
- Đã kiểm thử kill switch
- Đã lập tài liệu quy trình khẩn cấp
- Đội ngũ đã được đào tạo về ứng phó sự cố
- Đã xác định các đầu mối hỗ trợ
Danh sách kiểm tra khi chính thức hoạt động
- Đã vượt qua các bài kiểm tra chứng nhận với khối lượng nhỏ trên production
- Đã xác minh các endpoint production
- Dashboard giám sát đã sẵn sàng
- Đã cấu hình cảnh báo
- Đã thiết lập lịch trực on-call của đội ngũ
- Đã rà soát tài liệu
Tài liệu tham khảo
- Bắt đầu nhanh: Quickstart
- Tham chiếu API: REST API
- Lỗi và từ chối: Errors
- Playbook xử lý sự cố: Incidents