Custody Bağlantısını Test Et
Bir custody yapılandırmasını kaydetmeden canlı olarak bir kez dener. Bir sağlayıcıyı kaydetmeden ya da etkinleştirmeden önce kullanın.
Hangi deneme çalışır. Yanıttaki method hangisi olduğunu söyler:
connection_test— kimlik doğrulamalı özel bir test endpoint'i olan sağlayıcılar (rudiq). Kimlik doğrulama zincirinin tamamını kontrol eder ve API anahtarının kapsamını ve bitiş zamanınıdetailiçinde, hiçbir cüzdana dokunmadan döndürür.network_idgerekmez.native_balance— böyle bir endpoint'i olmayan sağlayıcı için yedek yol:network_idile belirtilen ağda sıfır adresinin native bakiyesi okunur. Bu durumdanetwork_idzorunludur.
taurus için henüz istemci yoktur; bu yüzden test edilmesi ok: false döner.
Kayıtlı satırı test etmek. use_stored: true ile kaydedilmiş yapılandırma denenir; gönderilen ve boş olmayan her alan (host, port, timeout, api_key) onun yerine geçer; böylece bir düzenleme gizli değerler yeniden yazılmadan test edilebilir. Kayıtlı TLS ayarı ve istemci sertifikası da kullanılır. Kayıtlı bir API anahtarı ya da istemci sertifikası yalnızca kayıtlı host ve portta sunulur: bunlara dayanırken başka bir endpoint belirtmek 10002 (domain 83) ile reddedilir. Başka bir host'u denemek için API anahtarını gönderin. use_stored olmadan deneme düz http üzerinden yapılır.
İzin verilen hedefler. Endpoint herkese açık https ya da ortamın listelediği bir küme içi host olmalıdır (custody normalde küme içinde düz http ile erişilir). Diğer her şey, hiçbir şey gönderilmeden 10001 (domain 83) ile reddedilir.
Başarısız bir deneme yine 200 döner; ok: false olur ve neden error alanında yer alır. 4xx, isteğin kendisinin reddedildiği anlamına gelir.
Yalnızca platform sahibi. Çağıranın düğümü platformun kök düğümü olmalıdır; diğer çağıranlar 403 / 10005 ile reddedilir.
Gerekli izin: custodial-wallet:update
İstek
POST /v2/admin/custodial-wallets/test
Başlıklar
| Ad | Açıklama |
|---|---|
Authorization | Zorunlu. Bearer <access_token> |
Content-Type | Zorunlu. application/json |
Gövde
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
provider | string | Evet | Sağlayıcı anahtarı: rudiq ya da taurus |
host | string | Hayır | Denenecek host adı. use_stored ile boş değer kayıtlı host demektir |
port | integer | Hayır | Denenecek port, 0 veya daha büyük. use_stored ile 0 kayıtlı port demektir |
api_key | string | Hayır | Denemede kullanılacak API anahtarı. use_stored ile boş değer kayıtlı anahtar demektir |
timeout | integer | Hayır | Saniye cinsinden istek zaman aşımı, 0 veya daha büyük. use_stored ile 0 kayıtlı zaman aşımı demektir |
use_stored | boolean | Hayır | Kaydedilmiş yapılandırmayı, yukarıdaki boş olmayan alanlarla değiştirerek dene |
network_id | integer | Koşullu | native_balance denemesi için sayısal zincir ağ ID'si (ör. 11155111). Yalnızca o deneme için zorunlu; ağın platformda tanımlı olması gerekir |
username | string | Hayır | Kabul edilir ama denemede kullanılmaz |
password | string | Hayır | Kabul edilir ama denemede kullanılmaz |
Örnek
curl --request POST \
--url '{{baseUrl}}/v2/admin/custodial-wallets/test' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"provider": "rudiq",
"use_stored": true
}'
Yanıt
{
"ok": true,
"latency_ms": 87,
"method": "connection_test",
"detail": {
"status": "ok",
"api_key_id": "3f1d2b6e-0000-4000-8000-000000000001",
"api_key_name": "apex-platform",
"node_id": "3f1d2b6e-0000-4000-8000-000000000002",
"node_name": "root",
"permissions": ["read", "transfer:create"],
"expires_at": null,
"client_certificate_required": false,
"server_time": "2026-11-09T11:08:14Z"
}
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
ok | boolean | Denemenin başarılı olup olmadığı |
latency_ms | integer | Denemenin milisaniye cinsinden süresi |
method | string | connection_test ya da native_balance. İstemci oluşturulamadıysa boş (ör. taurus ya da API anahtarı olmayan rudiq) |
network_id | integer | Yalnızca native_balance: okunan ağ |
symbol | string | Yalnızca native_balance, başarıda: custody'nin bildirdiği native para birimi sembolü |
detail | object | Yalnızca connection_test, başarıda: custody'nin anahtar hakkında bildirdikleri |
detail.status | string | Custody'nin bildirdiği durum |
detail.api_key_id | string | Custody'deki API anahtarının ID'si |
detail.api_key_name | string | Custody'deki API anahtarının adı |
detail.node_id | string | Anahtarın ait olduğu düğümün custody'deki ID'si |
detail.node_name | string | O düğümün custody'deki adı |
detail.permissions | array | Anahtara verilen kapsamlar |
detail.expires_at | string | null | Anahtarın bitiş zamanı (ISO 8601); bitmiyorsa null |
detail.client_certificate_required | boolean | Custody'nin platformdan istemci sertifikası isteyip istemediği |
detail.server_time | string | null | Custody'nin saati (ISO 8601) |
error | string | Yalnızca ok false olduğunda: denemenin neden başarısız olduğu |
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | Doğrulama başarısız (provider eksik, negatif bir sayı) — details alanına bakın. Ayrıca: desteklenmeyen sağlayıcı anahtarı, kaydedilmiş yapılandırma olmadan use_stored, native_balance denemesi için eksik ya da bilinmeyen network_id |
| 400 | 10001 | Hedef reddedildi: küme dışında https değil, çözümlenemiyor ya da özel veya metadata adresine çözümleniyor (domain 83) |
| 400 | 10002 | Kayıtlı bir API anahtarı ya da istemci sertifikası başka bir host veya porta sunulacaktı (domain 83) |
| 403 | 10005 | Çağıran platform sahibi değil (domain 2) |
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.