Cüzdan API'si
Kimliği doğrulanmış kullanıcı için kredi cüzdan bakiyesi.
Temel Yol
https://api.chainabit.com/api/v1/walletKimlik Doğrulama (Authentication)
JWT Bearer token gereklidir. Kullanıcının ayrıca cüzdan erişimini içeren aktif bir yetkisi olmalıdır.
Çevre Değişkenleri
Bu sayfadaki herhangi bir örneği çalıştırmadan önce bu değişkenleri ayarlayın:
export BASE_URL="https://api.chainabit.com/api/v1"
export TOKEN="your-access-token"POST /auth/login uç noktasını çağırarak erişim token'ınızı alın.
Uç Noktalar (Endpoints)
| Yöntem | Yol | Açıklama | Kimlik Doğrulama | Hız Sınırı |
|---|---|---|---|---|
| GET | /wallet/me | Kredi cüzdan bakiyesini al | Bearer token | 120/60s (kullanıcı), 180/60s (hesap) |
| GET | /wallet/me/spend | Mevcut (veya belirtilen) dönem için kendi harcamanızı alın | Bearer token | 60/60s (kullanıcı), 120/60s (hesap) |
GET /wallet/me
Hesabın paylaşılan kredi cüzdan bakiyesini döndürür. Bu, tüm hesap için ortak bir bakiyedir — kişi başına değil; her üyenin kullanımı bu ortak havuzdan düşer.
Kimlik Doğrulama: Bearer token (oturum veya OAuth erişim token'ı). Her planda kullanılabilir — ücretsiz plan dahil; kendi bakiyenizi görmek için yükseltme gerekmez.
Hız Sınırı: Kullanıcı başına 120 istek/60s, hesap başına 180 istek/60s.
İstek (Request)
Yol veya sorgu parametresi yok.
Yanıt (Response)
Yanıt Örneği
{
"data": {
"balanceCredits": "275",
"updatedAt": "2026-09-05T18:40:55.770Z",
"usedPercentage": 0,
"balanceStatus": "ok"
}
}Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
balanceCredits | string | AI kullanımı için şu anda kullanılabilir krediler |
updatedAt | string | null | Son bakiye güncellemesinin ISO 8601 zaman damgası |
usedPercentage | number | Bugün tüketilen günlük kredi kotasının yüzdesi (0–100) |
balanceStatus | string | Bakiye durumu: ok (kotanın < %75'i kullanıldı), warning (≥ %75), critical (≥ %90), exhausted (%100) |
Kod Örneği
curl https://api.chainabit.com/api/v1/wallet/me \
-H "Authorization: Bearer $TOKEN"const response = await fetch(`${BASE_URL}/wallet/me`, {
headers: {
'Authorization': `Bearer ${TOKEN}`,
},
});
const data = await response.json();import requests
response = requests.get(
f"{BASE_URL}/wallet/me",
headers={"Authorization": f"Bearer {TOKEN}"},
)
data = response.json()GET /wallet/me/spend
Ortak hesap bakiyesinden kişisel olarak sizin bir dönemde ne harcadığınızı döndürür — havuzlanmış toplamın aksine, gerçekten üzerinde hareket edebileceğiniz rakam budur. Her üye, rolünden bağımsız olarak bunu kendisi için çağırabilir.
Kimlik Doğrulama: Bearer token. Her planda, hesabın her üyesi için kullanılabilir.
Hız Sınırı: Kullanıcı başına 60 istek/60s, hesap başına 120 istek/60s.
İstek (Request)
| Sorgu Parametresi | Tür | Zorunlu | Açıklama |
|---|---|---|---|
since | string (ISO 8601) | Hayır | Ölçülecek dönemin başlangıcı. Varsayılan olarak mevcut UTC takvim ayının başlangıcıdır. 400 günden eski değerler bu ufka yuvarlanır — gerçekte ölçülen pencere için yanıttaki periodStart alanına bakın. |
Yanıt (Response)
Yanıt Örneği
{
"data": {
"periodStart": "2026-09-01T00:00:00.000Z",
"members": [
{ "chainerId": "...", "settledCredits": 120, "heldCredits": 5, "totalCredits": 125 }
],
"unattributedCredits": 0
}
}Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
periodStart | string | Ölçülen dönemin ISO 8601 başlangıcı |
members[].chainerId | string | Üyenin chainer ID'si — bu uç nokta için her zaman çağıranın kendi ID'sidir |
members[].settledCredits | number | Zaten tahsil edilmiş krediler (ortak bakiyeye karşı taahhüt edilen borçlar) |
members[].heldCredits | number | Devam eden çalıştırmalar tarafından ayrılmış ancak henüz kesinleşmemiş krediler |
members[].totalCredits | number | settledCredits + heldCredits |
unattributedCredits | number | Defterin herhangi bir üyeye atfedilemeyen şekilde kaydettiği harcama — tahmin edilmek yerine ayrı raporlanır |
Kod Örneği
curl "$BASE_URL/wallet/me/spend" \
-H "Authorization: Bearer $TOKEN"const response = await fetch(`${BASE_URL}/wallet/me/spend`, {
headers: { 'Authorization': `Bearer ${TOKEN}` },
});
const data = await response.json();import requests
response = requests.get(
f"{BASE_URL}/wallet/me/spend",
headers={"Authorization": f"Bearer {TOKEN}"},
)
data = response.json()Notlar (Notes)
- Bakiye hesap düzeyinde ortaktır, üye başına değil — hesabın hangi üyesi çağırırsa çağırsın aynı rakam döner.
usedPercentagevebalanceStatus, bir abonelik dönemine karşı toplam tüketimi değil, bugünkü günlük kota tüketimini açıklar.- Bu uç nokta ücretsiz plan dahil her planda kullanılabilir — kendi bakiyenizi kontrol etmek asla yükseltme gerektirmez.