Mã lý do của lệnh perp
Khi form đặt lệnh báo một lệnh "sẽ bị từ chối", form đang trích dẫn một mã lý do. Cùng một mã được trả về từ bước kiểm tra trực tiếp trước khi bạn ký (preview) và từ lần gửi thật, nên những gì form hiển thị chính là những gì máy chủ sẽ làm.
Cách form sử dụng các mã:
- Mã chặn biến nút gửi thành lý do (ví dụ
Not enough margin) cho đến khi bạn thay đổi lệnh. - Mã làm mới (
stale_position_snapshot,venue_risk_unavailable) được tự động kiểm tra lại và không bao giờ chặn nút. - Mã thử lại và chặn (
price_unavailable,account_health_unavailable) cũng được tự động kiểm tra lại, nhưng chặn nút cho đến khi kiểm tra đạt. - Preview thất bại không bao giờ chặn bạn. Nếu không kết nối được preview, form không hiển thị số liệu và bạn vẫn có thể gửi lệnh. Bước kiểm tra thật vẫn chạy khi gửi.
invalid_order,engine_rejectedvà mọi mã không xác định sẽ chặn và hiển thị nguyên văn thông báo của máy chủ, vì thông báo đó nêu rõ trường hoặc quy tắc bị lỗi.
Người dùng API nhận cùng giá trị trong reasonCode ở POST /v1/tee-perp/preview và ở phản hồi gửi lệnh, gửi lô và thay đổi đòn bẩy. Văn bản dễ đọc (reason ở bản xem trước, message ở phản hồi gửi) chỉ dùng để chẩn đoán; hãy rẽ nhánh theo mã.
Ký quỹ và vị thế
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
insufficient_margin | Sau khi lệnh này (và mọi lệnh perp đang mở) được khớp, tài khoản của bạn sẽ không đáp ứng được yêu cầu ký quỹ. Yêu cầu là mức cao hơn giữa ký quỹ danh mục của Hypercall và ký quỹ của Hyperliquid. | Dùng thẻ mà form hiển thị: Use max (khối lượng lớn nhất vẫn đạt), Raise to N× (đòn bẩy nhỏ nhất vẫn đạt), hoặc Deposit phần thiếu hụt. Hủy các lệnh đang chờ cũng giải phóng ký quỹ. |
reduce_only_exceeds_position | Một lệnh reduce-only sẽ làm tăng hoặc đảo chiều vị thế thay vì thu hẹp nó. | Đặt khối lượng bằng hoặc nhỏ hơn vị thế đang mở (form có tùy chọn Use position), hoặc tắt Reduce only. |
mode_change_with_position | Bạn đã cố chuyển giữa cross và isolated trên một thị trường mà bạn đang giữ vị thế. Hyperliquid cũng không cho phép điều này. | Giữ chế độ hiện tại, hoặc đóng vị thế rồi chuyển. |
leverage_requires_flat_account | Thay đổi đòn bẩy bị từ chối vì tài khoản có vị thế perp đang mở hoặc lệnh perp đang chờ. Điều này chỉ xảy ra ở nơi Hypercall không tính rủi ro thanh lý của Hyperliquid vào ký quỹ; môi trường production có tính, nên production không trả về mã này. | Đóng vị thế và hủy lệnh perp, sau đó thay đổi đòn bẩy. |
liquidation_pending | Tài khoản đang ở trạng thái tiền thanh lý và sắp bắt đầu thanh lý toàn bộ. Hypercall từ chối các lệnh perp mới trên tài khoản. | Chờ quá trình thanh lý hoàn tất. Xem Thanh lý. |
Thiết lập tài khoản
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
account_not_pm | Lệnh perp yêu cầu tài khoản ký quỹ danh mục. | Bật ký quỹ danh mục từ trang tài khoản, sau đó thử lại. |
unified_mode_required | Các lệnh làm tăng rủi ro yêu cầu tài khoản giao dịch bật chế độ unified account của Hyperliquid. | Nhấn Enable unified mode trong form. |
builder_not_approved | Hyperliquid từ chối lệnh vì tài khoản chưa phê duyệt địa chỉ builder của Hypercall. Mã này do Hyperliquid trả về khi gửi lệnh, không phải từ preview, và người dùng API thấy nó trong errorCode của phản hồi gửi lệnh, không phải reasonCode. | Nhấn Enable trading một lần. Xem Perp trên Hypercall. |
account_health_unavailable | Hypercall hiện không đọc được tình trạng ký quỹ của tài khoản, nên từ chối mọi thao tác làm tăng rủi ro. | Form tự động kiểm tra lại. Để giảm rủi ro trong lúc chờ, hãy gửi lệnh với Reduce only được bật. |
Thị trường và dữ liệu
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
market_not_supported | Thị trường này không thuộc nhóm Hypercall có thể quản lý rủi ro. Thị trường cần có nguồn giá, lưới kịch bản ký quỹ và biểu ký quỹ Hyperliquid bằng USDC cho tài khoản của bạn. | Chọn một thị trường được hỗ trợ. |
trading_halted | Giao dịch đang tạm dừng, trên toàn hệ thống hoặc cho thị trường này. | Chờ. Form giữ nút bị vô hiệu hóa cho đến khi giao dịch tiếp tục. |
price_unavailable | Giá mà Hypercall dùng để định giá thị trường bị thiếu hoặc đã cũ. | Form tự động kiểm tra lại. Hypercall không đoán giá, nên sẽ từ chối cho đến khi có giá mới. |
stale_position_snapshot | Dữ liệu vị thế hoặc vốn chủ sở hữu Hyperliquid mới nhất của bạn bị thiếu hoặc quá cũ. | Không cần làm gì. Form tự kiểm tra lại một lần. Nếu vẫn tiếp diễn, hãy làm mới trang. |
venue_risk_unavailable | Dữ liệu rủi ro Hyperliquid (đòn bẩy, giá thanh lý, tài sản thế chấp theo từng vị thế) bị thiếu hoặc không khớp với dữ liệu vị thế mới nhất của bạn. | Không cần làm gì. Form tự kiểm tra lại một lần. |
Điều khoản lệnh
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
invalid_order | Điều khoản lệnh không hợp lệ: độ chính xác của giá hoặc khối lượng, bracket TP/SL sai định dạng, hoặc client order id không hợp lệ. | Sửa bước giá hoặc bước khối lượng rồi gửi lại. |
action_not_supported | Chính sách của enclave ký không cho phép loại thao tác này. Nếu xảy ra với một loại lệnh mà form cung cấp, form sẽ đánh dấu loại đó là chưa được bật. | Dùng một loại lệnh được hỗ trợ. |
engine_rejected | Mọi trường hợp từ chối khác. Văn bản reason nêu nguyên nhân chính xác. | Đọc thông báo. Nếu chưa rõ, hãy liên hệ bộ phận hỗ trợ kèm nội dung thông báo. |