Perp Emri Ret Kodları
Emir formu bir emrin "reddedileceğini" söylediğinde, bir ret kodu aktarır. Aynı kod hem imzalamadan önceki canlı kontrolden (önizleme) hem de gerçek gönderimden döner; dolayısıyla formun gösterdiği, sunucunun yapacağı şeydir.
Form bu kodları nasıl kullanır:
- Engelleyici kodlar, siz emri değiştirene kadar gönder düğmesini ret nedenine dönüştürür (örneğin
Not enough margin). - Yenileme kodları (
stale_position_snapshot,venue_risk_unavailable) otomatik olarak yeniden kontrol edilir ve düğmeyi hiçbir zaman engellemez. - Yeniden dene ve engelle kodları (
price_unavailable,account_health_unavailable) da otomatik olarak yeniden kontrol edilir, ancak kontrol geçene kadar düğmeyi engeller. - Başarısız bir önizleme sizi asla engellemez. Önizlemeye ulaşılamazsa form hiçbir rakam göstermez ve yine de gönderebilirsiniz. Gerçek kontrol gönderimde yine çalışır.
invalid_order,engine_rejectedve bilinmeyen tüm kodlar engeller ve sunucunun mesajını olduğu gibi gösterir, çünkü bu mesaj başarısız olan alanı veya kuralı belirtir.
API kullanıcıları aynı değeri POST /v1/tee-perp/preview yanıtında ve emir, toplu emir ve kaldıraç gönderim yanıtlarında reasonCode alanında alır. İnsan tarafından okunabilir metin (önizlemede reason, gönderim yanıtlarında message) tanılama amaçlıdır; mantığınızı koda göre kurun.
Teminat ve pozisyon
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
insufficient_margin | Bu emir (ve tüm açık perp emirleri) gerçekleştikten sonra hesabınız teminat gereksinimini karşılayamaz. Gereksinim, Hypercall portföy teminatı ile Hyperliquid teminatından hangisi daha kötüyse odur. | Formun gösterdiği kartı kullanın: Use max (geçen en büyük büyüklük), Raise to N× (geçen en düşük kaldıraç) veya eksik tutarı Deposit ile yatırın. Bekleyen emirleri iptal etmek de teminatı serbest bırakır. |
reduce_only_exceeds_position | Yalnızca azaltma (reduce-only) emri pozisyonunuzu küçültmek yerine büyütür veya yönünü çevirir. | Büyüklüğü açık pozisyonunuza eşit veya daha küçük ayarlayın (form Use position seçeneğini sunar) ya da Reduce only seçeneğini kapatın. |
mode_change_with_position | Pozisyon tuttuğunuz bir piyasada cross ile isolated arasında geçiş yapmaya çalıştınız. Hyperliquid de buna izin vermez. | Mevcut modu koruyun veya pozisyonu kapatıp geçiş yapın. |
leverage_requires_flat_account | Hesapta açık perp pozisyonları veya bekleyen perp emirleri olduğu için kaldıraç değişikliği reddedildi. Bu yalnızca Hypercall'un Hyperliquid likidasyon riskini teminata yansıtmadığı ortamlarda olur; production bu riski yansıttığı için production bu kodu döndürmez. | Pozisyonları kapatın ve perp emirlerini iptal edin, ardından kaldıracı değiştirin. |
liquidation_pending | Hesap ön likidasyon aşamasında ve tam likidasyon başlamak üzere. Hypercall hesapta yeni perp emirlerini reddeder. | Likidasyonun sonuçlanmasını bekleyin. Bkz. Likidasyon. |
Hesap kurulumu
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
account_not_pm | Perp emirleri bir portföy teminatı hesabı gerektirir. | Hesap sayfanızdan portföy teminatını açın, ardından yeniden deneyin. |
unified_mode_required | Risk ekleyen emirler, işlem hesabında Hyperliquid unified account modunu gerektirir. | Formda Enable unified mode düğmesine tıklayın. |
builder_not_approved | Hesap Hypercall'un builder adresini onaylamadığı için Hyperliquid emri reddetti. Bu kod önizlemeden değil, gönderim sırasında Hyperliquid'den döner ve API kullanıcıları bunu reasonCode alanında değil, gönderim yanıtının errorCode alanında görür. | Bir kez Enable trading düğmesine tıklayın. Bkz. Hypercall'da Perp'ler. |
account_health_unavailable | Hypercall şu anda hesabın teminat sağlığını okuyamıyor, bu nedenle risk ekleyen her şeyi reddeder. | Form otomatik olarak yeniden kontrol eder. Bu sırada riski azaltmak için emri Reduce only açık olarak gönderin. |
Piyasa ve veri
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
market_not_supported | Piyasa, Hypercall'un risk hesaplayabildiği bir piyasa değil. Hesabınız için bir fiyat beslemesi, bir teminat senaryo ızgarası ve USDC teminatlı bir Hyperliquid tablosu gerekir. | Desteklenen bir piyasa seçin. |
trading_halted | İşlem ya her yerde ya da bu piyasa için durduruldu. | Bekleyin. Form, işlem yeniden başlayana kadar düğmeyi devre dışı tutar. |
price_unavailable | Hypercall'un piyasayı değerlemek için kullandığı fiyat eksik veya güncel değil. | Form otomatik olarak yeniden kontrol eder. Hypercall fiyat tahmin etmez, bu yüzden güncel bir fiyat gelene kadar reddeder. |
stale_position_snapshot | En son Hyperliquid pozisyon veya özsermaye okumanız eksik veya çok eski. | Bir şey yapmanız gerekmez. Form kendi kendine bir kez yeniden kontrol eder. Devam ederse sayfayı yenileyin. |
venue_risk_unavailable | Hyperliquid risk okuması (kaldıraç, likidasyon fiyatları, pozisyon başına teminat) eksik veya en son pozisyon okumanızla eşleşmiyor. | Bir şey yapmanız gerekmez. Form kendi kendine bir kez yeniden kontrol eder. |
Emir koşulları
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
invalid_order | Emir koşulları geçersiz: fiyat veya büyüklük hassasiyeti, hatalı biçimlendirilmiş bir TP/SL bracket'ı veya geçersiz bir client order id. | Fiyat adımını (tick) veya büyüklük adımını düzeltip yeniden gönderin. |
action_not_supported | İmzalama enclave'inin politikası bu tür bir işleme izin vermiyor. Formun sunduğu bir emir türünde olursa, form o türü etkin değil olarak işaretler. | Desteklenen bir emir türü kullanın. |
engine_rejected | Diğer tüm retler. reason metni tam nedeni içerir. | Mesajı okuyun. Anlaşılır değilse, metinle birlikte destek ekibine başvurun. |