Dɔnniya basigilen Ɲɛmɔgɔw
Balaansi, kɛlɛkaalɛw ni kɛlɛkaalɛ kɛɲɛw
I bɛ i ka kɛnɛya fɛ, Lightning kɛ kɛnɛya ye, i ka kɛnɛya dɔrɔn kɛ kɛnɛya ye, i ka fɛɛrɛ kɛla kɛla kɛlɛ kɛ, ani i ka kili fɛɛrɛ kɛ kili kɛlɛ kɛ.
Nin ɲɛ in bamanankanna ni masin ye walasa ka nɔgɔya. Angilɛkan original ye version ye min bɛ tali kɛ.
N'ka dɔnu bɛ n dɔnɔnɔla
I nɔgɔ bɛɛ kɛnɛya kɛnɛya, ni ko bɛ kɛ nɔgɔ mɔgɔ kɛlɛ kɛ nɔgɔ kɛnɛya bɛɛ ye.
GET https://nymbot.ai/api/v1/credits/balance — API key bɛ se ka la. POST a bɛ kɛ a ye fana, aw ye kɛlɛkɛlɛw ye bɛɛ bɛɛ kɔrɔw ye.
balance bɛ nɔgɔ san kɛra dolari kɔnɔ Bitcoin sɛbɛn kɔnɔ,
ko bɛ tɛgɛ dɔ kɛ tɔgɔ dɔ ma (null (n'a fɔ ko sugu bɛ se ka kɛ kɛnɛya ma). A kɔfɛ bɛ kɛ
credits ni sats ye, o bɛ fɔ ko o de ye k'a kɛ fɛɛrɛ ye. key a b'a fɔ kili kɛlɛ ye
a b'a fɔ. Kili kɛlɛ k'a kɛlɛ kɔrɔ tɛ kɛ, a bɛ se k'a sɔrɔ kɛlɛ ye.
Sariya
{
"balance": 49.18,
"balance_sats": 42037,
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 },
"key": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"limit_sats": 20000,
"period_used_sats": 3412,
"total_used_sats": 18230,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z"
}
}
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
401 | Keleya bɛ mɛn, a tɛ sɔrɔ, a bɔra wala a kɛli. |
cURL
curl https://nymbot.ai/api/v1/credits/balance \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/credits/balance",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
)
balance = res.json()
print(balance["standard"]["sats"], balance["pro"]["sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/credits/balance", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
const balance = await res.json();
console.log(balance.standard.sats, balance.pro.sats);
Kɔrɔsi kow fɛɛrɛ kɛ kɛɲɛ kow
I n'a kɛ kɛnɛya kɛ fɛ, ani mɔgɔya dɔni dɔni. Lightning de ye kɛnɛya kɛ mun ye.
GET https://nymbot.ai/api/v1/topup/payment-methods — kili tɛ sɔrɔ.
Sats tɛmɛn kɛlɛ kɛmɛ 10 kɔrɔ bɔ 1,000,000 la; Pro top-up bɛ se ka Pro credit kɛlɛ kɛnɛ 1 kɛ kɛ, nabi a bɛ 100 sats bɔ. Dollar nɔgɔ bɛ kɛ Bitcoin sɔrɔ la. bulk_bonus a b’a fɔ k’i fɛ i ka jɛ kɛnɛya kɛ i ka kɛnɛya dɔrɔn fɛ: 10%, 15% o tɔɔɔ 20% kɛnɛya kɛ i ka kɛnɛya dɔrɔn fɛ 500, 1,000 o tɔɔɔ 5,000 sats dɔrɔn fɛ, ka Pro kɛnɛya dɔrɔn 5,000, 10,000 o tɔɔɔ 50,000 sats dɔrɔn fɛ.
Sariya
{
"supported_methods": [
{
"method": "btc-lightning",
"display_name": "Bitcoin Lightning",
"supported_currencies": ["SATS", "USD", "BTC"],
"limits": {
"SATS": { "min": 10, "max": 1000000 },
"USD": { "min": 0.02, "max": 1170 },
"BTC": { "min": 1e-7, "max": 0.01 }
},
"tiers": ["standard", "pro"],
"default_tier": "pro",
"tier_min_sats": { "standard": 10, "pro": 100 },
"sats_per_credit": { "standard": 10, "pro": 100 },
"bulk_bonus": [
{ "bonus": 0.1, "standard_sats": 500, "pro_sats": 5000 },
{ "bonus": 0.15, "standard_sats": 1000, "pro_sats": 10000 },
{ "bonus": 0.2, "standard_sats": 5000, "pro_sats": 50000 }
]
}
]
}
cURL
curl https://nymbot.ai/api/v1/topup/payment-methods
Python
import requests
methods = requests.get("https://nymbot.ai/api/v1/topup/payment-methods").json()
print(methods["supported_methods"][0]["limits"])
JavaScript
const methods = await (await fetch("https://nymbot.ai/api/v1/topup/payment-methods")).json();
console.log(methods.supported_methods[0].limits);
Lightning kɔrɔ kɔrɔ bɛn kɛ
Lightning fɔlɔ (invoice) kɛ n'o bɛ nym kɛlɛ kɛ, a bɛ kɛ nym kɛlɛ dɔ dɔmɔn kɛ. A bɛ mɔgɔ bɛɛ Lightning waliba (wallet) la kɛ fɛ, nka, a sɔn k'a kɛ kulu bɛɛ kɛra.
POST https://nymbot.ai/api/v1/topup/create/btc-lightning — API key bɛ se ka la.
| Kalan kɛnɛ | Tɔgɔ | A sɔrɔ fɛ | Tirinisi |
|---|---|---|---|
amount | numari | Awɔ | Ɲɛ bɛ fɛɛrɛ di, ɲɛ bɛ... currency. Sats fɛ numéro tɛmɛnɛ dɔ. |
currency | tɛgɛ | A yo | SATS (ɲɛmɔgɔ), USD ɛ̀ kɔ̀rɔ̀ BTCDollars bɛ kɛ Bitcoin fɛn ninnu fɛn ninnu bɛ kɛ ninnu kɔrɔ fɛ. |
tier | tɛgɛ | A yo | pro (ka faga) walla standard: bɛ kɛ nɔgɔ bɛɛ kɔnɔ mɔgɔ ye min bɛ kɛ credit kɛrɛn ye. |
Kredit sanni ye 10 sats ye, Pro kredit ye 100 sats ye, ni kulu bonus ye;
credits a bɛ sɔsɔya ko dɔgɔtɔ kɛ mun na.
Sariya
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"payment_request": "lnbc100u1p5...",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": "2026-09-30T09:27:00Z",
"status": "pending"
}
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
400 | Ɲɛkan kɛnɛ kɔnɔ fɛɛrɛ bɛɛ (unsupported_method), kulu kadi kɔrɔ kɔrɔ (unsupported_currency) walla tier, ɲɛgɛ fɛlɛ, walla ɲɛgɛ minimuŋ kɔrɔ (amount_too_small), 1,000,000 sats kɛɲɛ kɔfɛ (amount_too_large) wa Lightning wallet ye a denya (amount_out_of_range). |
429 | Invoices mɔɲɛ kɛmɛ kura ni nym kɛnɛ de bɛɛ, o tɛ mɔgɔ sɔrɔ kɛ tɔgɔ kɛnɛ kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ nɔ kɛmɛ mɔgɔ kɛra kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛ mɔgɔ kɛ kɛrɛnkɛrɛn kɛra fɛɛrɛrate_limit_exceeded, kaƝ Retry-After). |
502 | A bɛ se ka fanisa fɔ kɛ n'i bɛ kɛ n'a fɔ kɛ n'i bɛ kɛ n'a fɔ kɛ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'a fɔ kɛ n'ainvoice_unavailable, kaƝ Retry-After). |
cURL
curl https://nymbot.ai/api/v1/topup/create/btc-lightning \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 10000, "currency": "SATS", "tier": "pro"}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/topup/create/btc-lightning",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"amount": 10000, "currency": "SATS", "tier": "pro"},
)
invoice = res.json()
print(invoice["payment_request"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/topup/create/btc-lightning", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ amount: 10000, currency: "SATS", tier: "pro" }),
});
const invoice = await res.json();
console.log(invoice.payment_request);
Kɛnɛya kɛ kɛmɛ dɔ munu dɔ fɛ
A b'a a jira kɔrɔ kɛra ko a bɛ dɔn ko a fɔlɔ n'ye, n'a ye fɔlɔ, a b'a kɛ lɔgɔ kɛrɛnkɛrɛn ye. Kɛrɛnkɛrɛn ye kɛ kɛɲɛ kɛra, so a fɔlɔ kɔfɛ, kɛrɛnkɛrɛn bɛ kɛ kɛɲɛ kɛ n'a fɔ ko a ye dɔni dɔni dɔni n'a fɔ ko a ye status ye credited. I bɛ se ka kɛnɛya kɛ fana ka kɛ kɔfɛ: sisan kɛ nɔgɔma k'a fɔ, a bɛ se ka fɔ k'a sɔrɔ k'a fɔ kɛ kɔrɔ kɛ n'a fɔ i n'a fɔ k'a sɔrɔ kɛ kɛnɛya kɛ.
GET https://nymbot.ai/api/v1/topup/status/{invoice_id} — a bɛ kɛlɛ kɛ mɔgɔ kɛ nɔgɔyɔ kɛra kɔnɔ fɛɛrɛ la.
status bɛ pending (a tɛ ɲɛgɛli fɛ), paid (sinsin bɛɛ la, nka a tɛ kɛ se kɛ; fɔli fɔ) credited (i ka babilɛ kɔnɔ) ani expired (a tɛ se kɛ kɛnɛya la). Balansi kɔnɔ kɔrɔ kɔrɔw ye kɔrɔ kɔrɔ kɛnɛya la walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa walasa
Sariya
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"status": "credited",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": null,
"balance_credits": 523.33,
"balance_sats": 52333
}
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
400 | ID bɛɛ tɛ create call kɔfɛ 64-character ID ye. |
404 | I de i kulu ID kɔrɔ n'i tɔgɔ (invoice_not_found). |
cURL
curl https://nymbot.ai/api/v1/topup/status/$INVOICE_ID \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os, time
import requests
headers = {"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]}
url = "https://nymbot.ai/api/v1/topup/status/" + invoice["invoice_id"]
while True:
status = requests.get(url, headers=headers).json()["status"]
if status in ("credited", "expired"):
break
time.sleep(3)
print(status)
JavaScript
const headers = { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY };
const url = "https://nymbot.ai/api/v1/topup/status/" + invoice.invoice_id;
let status;
do {
await new Promise((r) => setTimeout(r, 3000));
status = (await (await fetch(url, { headers })).json()).status;
} while (status !== "credited" && status !== "expired");
console.log(status);
Kalan kili kili kɔrɔ
Hakɛ kɛnɛ kɛra kɛ kɛnɛ kɛ nɔgɔ kɛnɛ dɔ kɛra: mun ye, munɲɛ kɛnɛ, token bɛɛ bɛɛ, ani a ka sɔrɔ. Prompt o sɔrɔ kɛnɛ wala kɛnɛ mɔgɔw tɛ fɔ, nka dɔɔni tɛ ye. Hakɛ kɛnɛw bɛ kɛ kɛnɛ kɛnɛ kɛnɛ (90) la, u kɔfɛ la kɔfɛ kɔfɛ. Hakɛ kɛnɛ kɛnɛ bɛ kɛ kɛnɛ kɛnɛ kɛnɛ (cap) kɛra kɛ kɛnɛ kɛnɛ kɛnɛ (history) kɛ.
GET https://nymbot.ai/api/v1/queries/history — API key kan la a bɛ se, o bɛ a ka kɔrɔsiw ye, ani... Tègè siŋari i nùm-mɔgɔ kɔnɔ, ka dɔn k'a bɛɛ dɔnkili la.
| Kalan kɛnɛ | Tɔgɔ | A sɔrɔ fɛ | Tirinisi |
|---|---|---|---|
page | integer (kɔrɔkɔlɔ) | A yo | Sisan kɛ n'a fɔ k'a bɛɛ kɛ fɔ kɛ n'a bɛɛ kɛ fɔ kɛ 1,000; kɔrɔ kɔrɔ mɔgɔ ye 400 invalid_value. |
page_count | integer (kɔrɔkɔlɔ) | A yo | Pajiri kɔrɔ dɔɔni. 20 ye ko fɔlɔ ye, 100 ye ko dɔɔni ye. |
start_dateend_date | string (kunu) | A yo | ISO 8601 taariɲi walla ɲɛ̀kɛ̀. |
model | string (kunu) | A yo | Ɲɛkan kɛ bɛɛ kɛ n'a fɔ ko nin ka nɛ kɛ fɛɛrɛ. |
type | string (kunu) | A yo | chat, responses, messages, image, video, speech, transcription ɛ̀ kɔ̀rɔ̀ embedding. |
all_keys | bɔlɛɛn (kɔrɔsi) | A yo | Kili kili fanga ye: true ɲɛɲɛ bɛ kɛ kɛnɛ kɛnɛ kɛ mɔgɔ kɛnɛ kɛnɛ kɛ kili bɛɛ ye. Default false. |
key_id | string (kunu) | A yo | Ɲɛgɛ bɛ kɛ kura kɛɲɛ dɛmɛ fɛ, o tɛ kɛ kura kɛɲɛ dɛmɛ fɛ... all_keys=true: kɛnɛ kɛnɛ nɛ. |
Sariya
{
"data": [
{
"id": "q_71c4e9a0",
"timestamp": "2026-09-30T08:12:00Z",
"model": "anthropic/claude-sonnet-5",
"type": "chat",
"input_tokens": 1240,
"output_tokens": 380,
"cached_tokens": 0,
"cost_sats": 16.2,
"cost_usd": 0.01895,
"balance": "pro",
"key_id": "4f0c9a1be27d3856",
"web_search": false,
"status": "ok"
}
],
"pagination": { "page": 1, "page_count": 20, "total": 311, "total_pages": 16 }
}
cURL
curl "https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat" \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/queries/history",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
params={"page_count": 50, "type": "chat"},
)
for row in res.json()["data"]:
print(row["timestamp"], row["model"], row["cost_sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
for (const row of (await res.json()).data) console.log(row.timestamp, row.model, row.cost_sats);
Kalan dɔ bɛ akun bɛɛ kɔrɔsi dɛmɛna kɔnɔ
Kɛlɛ kɛ, kɛlɛ munu kɛ, kɛlɛ nɔgɔya, account summary ni automatic top-ups tɛ API key fɔ. A bɛ nym signature la, n'i fɔ k'a kɛlɛ kɛnɛya, kɛlɛ bɛ kɛ a ka cap kɛlɛ la, nka a tɛ kɛ kɛlɛ kɛlɛ kɛ se kɛ kɛlɛ kɛlɛ kɛ se kɛ kɛlɛ kɛlɛ kɛ se kɛ kɛlɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ se kɛ kɛlɛ kɛ
App bɛ se ka ni fɛ k'i ye: kɛnɛ bɛ i ye k'i fɛ bɛɛ kɛ i ye k'i fɛ... API Sheet bɛ endpointw dɛmɛ kɛ. I ye ni dɔnniya kɔnɔ kɛ kɛ i ka code kɛ sɔrɔw (keys) dɛmɛ kɛ ye.
Signature bɛ Nostr kɛlɛ ɲɛmɔgɔ 27235 (NIP-98) ye, a bɛ sɔ base64 kɛ dɔ ye o la...
Authorization kɛnɛ kɔrɔ bɛ fanga kɛ ɲɛ bɛɛ ye Nostr kanu la:
ɲɛkan
{
"kind": 27235,
"created_at": 1790726400,
"tags": [
["u", "https://nymbot.ai/api/v1/keys"],
["method", "POST"],
["nonce", "9c4e21f07a3b...16 random bytes in hex"],
["payload", "3f1a0d7c8e2b...sha256 of the exact request body in hex"]
],
"content": "",
"pubkey": "your public key in hex",
"id": "...",
"sig": "..."
}
un'ga bɛ request tɛgɛ bɛɛ kɛ, query string bɛɛ kɛ, u ka bɛɛ sɔrɔ n'a fɔ k'a taga kɛ.methoda ye HTTP kɔrɔ ye.payloada ye SHA-256 ka kɛ raw request body kɔnɔ, hex ka nɔgɔ ye. A bɛ se k’a fɔ k’a sɔrɔ onPOSTaniPATCH, n'a fɔ ko i ka dɔnyɔgɔ k'a yɛlɛma k'a bɛn fɛn a fɛn k'a fɛrɛ kɛra a la.created_ata ka server kulu kɔrɔ nɛ nɛ fɛ 60 san dɔ kɔ.- Ɲɛmɔgɔ bɛ kɛ cogo damɛ damɛ, a
GETo bɛ kɔnɔ, n'a fɔ ka kɛ header a sɔrɔ ye tɛmɛya ye, e tɛ se ka kɛ ye. Kɛ request bɛɛ ye, k'a sɔrɔ kɛ sign fɛlɛ fɛlɛ ye. Kɛ a dɔ...nonceTag kɛ ɲɛɲɛya kɛlɛya yan, ko kɛlɛla kɛrɛn kɛrɛn bɛ sigini sekɔndi kɛrɛn kɛra, a bɛ tila kɛ. - Sira kɔrɔ bɛ kɛ 64 KB kɛnɛ munu tɛ, nka sira bɛ se ka kɛ...
Content-Type: application/json.
Kankalamannu bɛ kura sɔrɔ 401 missing_nostr_auth; aɲɛɲɛɲɛ kɔrɔ, aɲɛɲɛɲɛ kɔrɔ, a kɔrɔ kɛra kɛ kɛra, walla a bɛ URL, method o kɔrɔ kɔrɔ fɛ, a bɛ kura kɛ...
invalid_nostr_auth, mesajɛ kɔnɔ dɔnniya fɛ; ɲɛɲɛɲɛ dɔ bɛ bɔ
nostr_auth_replayed. API key bɛ kɛnɛ kɛ ninnu fɛ. Signature bɛ kɛ ninnu bɛɛ fɛ k'a dɔn ko kɛnɛ bɛ kɛ fɛɛrɛ fɛɛrɛ la, ni kɛnɛ bɛɛ bɛɛ kɛ kɛmɛsan saba kɛmɛ fɛɛrɛ kɛnɛ la kɛmɛsan saba kɛmɛ kɛmɛsan saba kɛmɛ san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san 429 kɛ
Retry-After.
Browsers bɛ se ka kɛnɛyɔrɔ siw lo fɛ Nymbot ka sites de kɛra (https://nymbot.ai,
https://nymchat.app (kaƝ n fɛli-fɛliw bɛɛ) Sija kɛnɛ kɛnɛ kɔnɔ dɔ kɛnɛ kɛnɛ fɛ dɔ kɔnɔ, a tɛ se ka nkafo nkafo kɛ kɛnɛ dɔ kɔnɔ. Scriptw bɛɛ kɛ n kɛnɛ-fɛliw bɛɛ ye, a tɛ se ka kɛ...
Origin, tɛ kɛ bɛɛ.
Siniyan kɛra i nym ka siri kɛya (a) bɛ i la nsec), u bɛ kɛ ninnu bɛɛ ye: i ye i kɛnɛya, i saba ni i kɛnɛya fɛɛrɛ ye. A dɔɔni kɛ fɛɛrɛ kɔnɔ dɔnniya kɛra kɛnɛya kɛ kɛnɛya bɛɛ tɛ kɛ fɛɛrɛ kɔnɔ, a fɛɛrɛ dɔnniya fɛɛrɛ kɔnɔ dɔnniya kɛra kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ kɛnɛya kɛ
AƝɛ kɛlɛkɛlɛw bɛ header kɛ. Aɲɛ kɔfɛ minɛ nɔɔnɔ mɔgɔw bɛ min kɛ aƝɛ wɛrɛ ye. U bɛ hex kɛ secret key kɛ. NOSTR_SECRET_HEX; cURL kel bɛ kɛ...
nak kɛlɛ-kɛlɛ kɛtɔ, ka nsec walla hex
kɛlɛ lakana la, ka sha256sum (macOS la kan, shasum -a 256).
cURL
nostr_auth() {
method="$1"; url="$2"; body="$3"
nonce=$(openssl rand -hex 16)
if [ -n "$body" ]; then
hash=$(printf '%s' "$body" | sha256sum | cut -d' ' -f1)
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce" -t "payload=$hash")
else
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce")
fi
printf 'Nostr %s' "$(printf '%s' "$event" | base64 | tr -d '\n')"
}
Python
# pip install coincurve requests
import base64, hashlib, json, os, time
from coincurve import PrivateKey, PublicKeyXOnly
SECRET = bytes.fromhex(os.environ["NOSTR_SECRET_HEX"])
def nostr_auth(method, url, body=b""):
pubkey = PublicKeyXOnly.from_secret(SECRET).format().hex()
tags = [["u", url], ["method", method], ["nonce", os.urandom(16).hex()]]
if body:
tags.append(["payload", hashlib.sha256(body).hexdigest()])
created_at = int(time.time())
serialized = json.dumps([0, pubkey, created_at, 27235, tags, ""], separators=(",", ":"), ensure_ascii=False)
event_id = hashlib.sha256(serialized.encode()).digest()
event = {
"id": event_id.hex(),
"pubkey": pubkey,
"created_at": created_at,
"kind": 27235,
"tags": tags,
"content": "",
"sig": PrivateKey(SECRET).sign_schnorr(event_id).hex(),
}
return "Nostr " + base64.b64encode(json.dumps(event).encode()).decode()
JavaScript
// npm install nostr-tools
import { createHash, randomBytes } from "node:crypto";
import { finalizeEvent } from "nostr-tools/pure";
const secret = Buffer.from(process.env.NOSTR_SECRET_HEX, "hex");
export function nostrAuth(method, url, body = "") {
const tags = [["u", url], ["method", method], ["nonce", randomBytes(16).toString("hex")]];
if (body) tags.push(["payload", createHash("sha256").update(body).digest("hex")]);
const event = finalizeEvent(
{ kind: 27235, created_at: Math.floor(Date.now() / 1000), tags, content: "" },
secret,
);
return "Nostr " + Buffer.from(JSON.stringify(event)).toString("base64");
}
Kalan kɛrɛnkɛrɛɲɛ
App API sheet ka bɛ kɔnɔna kɔrɔ kɛ: i ka public key, balansi kelen kelen bɛɛ, kɛnɛya bɛɛ ka kɛnɛ (a tɛ mako dɔn wala a kɛ kɔlɔsi wala a kɛ dɔrɔn), ani... tansilin kɛ kɛnkɛranɲɛ kan tuntunba, walla
null server kɛ dɔ kɔrɔ dɔ kɔrɔ tɛ n’a fɛ.
GET https://nymbot.ai/api/v1/account — a bɛ se ka 🔍 Tègè siŋari.
Sariya
{
"data": {
"pubkey": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
"balances": {
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 }
},
"keys_active": 3,
"nwc_auto_topup": {
"connected": true, "threshold_sats": 5000, "topup_sats": 20000, "tier": "pro",
"last_topup_at": null, "last_topup_sats": null, "last_error": null
}
}
}
cURL
URL=https://nymbot.ai/api/v1/account
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/account"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/account";
const res = await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } });
console.log(await res.json());
Kɛlɛw kɛlɛnkɛrɛ
Endpoint-w bɛɛ o app key list kɔfɛ. U bɛɛ tila... an kɔlɔsi bɛnnyɔgɔnyɔ. Kili kɛlɛ bɛɛ bɛ k'a fɔ a fɔli la, wari kɛlɛ kɛ nɔgɔya kɛnɛya ISO 8601 kɔnɔ ani sats kɔnɔ:
Kɛ mɔgɔ kulu
{
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z",
"expire_at": null,
"period_used_sats": 3412,
"total_used_sats": 18230,
"created_at": "2026-08-14T09:21:07Z",
"updated_at": "2026-09-02T17:40:55Z",
"last_used_at": "2026-09-30T08:12:00Z",
"revoked_at": null
}
hint kɛnɛ kɛra kɛnɛ ye o ye, nka a tɛ kɛ o kɛ. Kɛnɛ kɛnɛ bɛ kɛra sisan kelen, a bɛ kɛ a kɛ a bɔ kɛ.
Kili kili kɛ kɛliya la
GET https://nymbot.ai/api/v1/keys Tɛ̀ kɛra.
| Kalan kɛnɛ | Tɔgɔ | A sɔrɔ fɛ | Tirinisi |
|---|---|---|---|
include_revoked | bɔlɛɛn (kɔrɔsi) | A yo | Kɛ kɛla kili kɛla kalanw ye. Kɛlɛka. false. |
Sariya
{ "data": [ { "id": "4f0c9a1be27d3856", "name": "laptop scripts", "hint": "sk-nymbot-Qm7x…c2Lw", "...": "..." } ] }
cURL
URL=https://nymbot.ai/api/v1/keys
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys"
for key in requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"]:
print(key["id"], key["name"], key["period_used_sats"], key["limit_sats"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const { data } = await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json();
for (const key of data) console.log(key.id, key.name, key.period_used_sats, key.limit_sats);
Kɛli dɛmɛ kɛ
POST https://nymbot.ai/api/v1/keys — a bɛ̀ kuli. A bɛ̀ fɛ̀rɛ 201.
| Kalan kɛnɛ | Tɔgɔ | A sɔrɔ fɛ | Tirinisi |
|---|---|---|---|
name | tɛgɛ | Awɔ | Kalabala kɛ kɛnɛya kɛnɛya fɛɛ fɛɛ, i ka kɛnɛya kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛnɛya fɛɛ fɛɛ kɛnɛya kɛ |
limit_sats | nɔgɔya | A yo | Sats kadiya kɛnɛyɔrɔ kɛ, kɛnɛ kɛ dɔrɔn. A tɛ kɛ kɛnɛ kɛnɛyɔrɔ tɛ kɛ kɛnɛ kɛ dɔrɔn. |
reset_period | tɛgɛ | A yo | daily, weekly ɛ̀ kɔ̀rɔ̀ monthly. A bɛ se kɛra limit_satsA bɛɛ sɔrɔ fɛɛrɛ tɛ kɛtɛ tigi fɛ. |
expire_at | tɛgɛrɛ tɛ sɛgɛnma (integer) | A yo | Kili kɛnɛ ka tigi kɛ kɛnɛ tɛ dɔ kɛ: ISO 8601 mɔgɔ kɔnɔ, ani 1970 fɛ kɔrɔ mɔgɔ kɔnɔ. |
Sebe (201)
{
"data": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"key": "sk-nymbot-Qm7x...c2Lw",
"...": "the rest of the key object"
}
}
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
400 | Tɔgɔ bɛɛ kɔmɔn nà wala a ye kɔlɔsɔn, tɔgɔ bɛɛ kɛnɛ kɛnɛ nà (duplicate_name); saba kɔrɔ tɛ kili kɛ sɔrɔ kɛ kura ye ɲɛ kɛ kɛnɛya kɛ kɔrɔ tɛ sɔrɔ kɛ kura ye 1 ye; reset period tɛ kili kɛ; kɔrɔ kɛ kura tɛ; fɔlɔ tɛ kɛ kura ye (unknown_parameter); o kɛlɛ kɛlɛya kɛnɛ bɛɛ ɲɛ kɛnɛ la (too_many_keys). |
429 | Kè kɛ kɛnɛ kɛli 60 kɔrɔ kɛ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a fɔ n'a frate_limit_exceeded, kaƝ Retry-After). |
cURL
URL=https://nymbot.ai/api/v1/keys
BODY='{"name":"laptop scripts","limit_sats":20000,"reset_period":"monthly"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys"
body = json.dumps({"name": "laptop scripts", "limit_sats": 20000, "reset_period": "monthly"}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"]["key"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const body = JSON.stringify({ name: "laptop scripts", limit_sats: 20000, reset_period: "monthly" });
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data.key);
Komi kelen kalan.
GET https://nymbot.ai/api/v1/keys/{id} Tɛ̀ kɛra.
A bɛ kɛ kɛnɛya la {"data": {…}} kɛ kɛnɛ dɔ bɛɛ ye, o tɛ 404
key_not_found ni i ka kɛlɛw kɛnɛw bɛɛ tɛ o idan ye.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
console.log((await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json()).data);
Kili kulu bɛ kɛ
PATCH https://nymbot.ai/api/v1/keys/{id} Tɛ̀ kɛra.
Duma dɔ name, limit_sats, reset_period ani
expire_at, kɛ nɔgɔ kɛ kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ kɛrɛ kɛnɛ kɛ nɔgɔ kɛra kɛnɛ null field: tɛ nɔgɔ ye, tɛ sɔrɔ ye, tɛ kɛɲɛ ye. Reset tɛmɛ bɛ kɛ kɔrɔ kɛɲɛ kɛɲɛ fɛ.
A kili kili bɛ tɛ sɔrɔ (400 key_revoked). A bɛ kɛ nkafo ye
{"data": {…}} key object yɛlɛmanya kɛ na.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
BODY='{"limit_sats":50000,"expire_at":null}'
curl -X PATCH "$URL" \
-H "Authorization: $(nostr_auth PATCH "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
body = json.dumps({"limit_sats": 50000, "expire_at": None}).encode()
res = requests.patch(
url,
data=body,
headers={"Authorization": nostr_auth("PATCH", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const body = JSON.stringify({ limit_sats: 50000, expire_at: null });
const res = await fetch(url, {
method: "PATCH",
headers: { "Authorization": nostrAuth("PATCH", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data);
Kɛli kila
DELETE https://nymbot.ai/api/v1/keys/{id} Tɛ̀ kɛra.
A bɛ kɛnɛ dɔɔni kɛ, k’a tigi kɛ. A bɛ listi kɔnɔ dɔn k’a fɛ... revoked_at tun, n'a bɛ se ka
toli k'a ye include_revoked=true. Kɛlɛ bɛ kɛ kɛlɛ kɛnɛya kɛra kɛnɛya kɛra kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ k
Sariya
{ "data": { "id": "4f0c9a1be27d3856", "revoked": true } }
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
NWC auto-top-up
Lightning wallet kanu Nostr Wallet Connect na, Nymbot bɛ kɛlɛ kɛ dɔgɔya fɛ mɔgɔw bɛ API sɔrɔ fɛ kɛlɛ dɔgɔya kɛra k'a fɔ API sɔrɔ bɛ kɛlɛ dɔgɔya kɛra k'a fɔ. App bɛ kɛlɛ API sheet kɛ dɔgɔya kɛra k'a fɔ; o ye endpoints ye o la. O bɛɛ bɛ se ka a Tègè siŋari.
Ɲɛkan mɔgɔw ka kɛnɛya: API kɛnɛ kɛra k'a dɛmɛ i ka dɔnniya fɛ, n'a ye i ka dɔnniya dɔrɔn kɛ, Nymbot bɛ i ka dɔnniya ka kɛ kɛnɛtigi (invoice) kɛ i ka dɔnniya fɛ, i ka walaya (wallet) bɛ se ka a dɔmɔ, k'a dɛmɛ. A bɛ dɔmɔ kɛ kɛlɛ kura kura fɛ mɔgɔ kɛlɛ kura kura kɔrɔ fɛ, nka a tɛ se ka i ka walaya bɔ k'a dɔmɔ kɛ kɛlɛ kura kura kɛ kɛlɛ kura kura kɛ. Appwɔw la kɛlɛ kɛ bɛ se ka a tɛɛ. Kɛlɛ kura kura kɛlɛ kɛ, kɛlɛ kura kura ka kɛlɛ ka fanga, ni kɛlɛ kura kura ka mɔgɔ fanga, i ka settings la la; n'a ye kɛlɛ kura kura kɛra k'a bɔ k'a kɛ kɛlɛ kura kura kɛ, i ka a kɛlɛ fanga kɛ a kɛlɛ kɛlɛ fanga la... Wuli kɛnɛya a bɛ a kɛ kili.
Connection string ye a kɛnɛ kɛra k’a la k’a kɛ n’a fɛ ka i ka walidɛ kɛ kɛnɛya la. Nymbot
bɛ a sɔrɔ sɔrɔ k'a fɛn tɛ sɔrɔ bɛɛ, k’a dɛmɛ k’a fɛ nka k’a kɛ k’a ye kɛnɛya la k’a ye a ye kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, i ka walidɛ la fɛn kɛ k’a kɛ kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la, nka i bɛ se kɛ k’a kɛ kɛnɛya kɛnɛya la pay_invoice.
Walle bɛ kɛ kɛnɛya la
POST https://nymbot.ai/api/v1/nwc-auto-topup/connect Tɛ̀ kɛra.
| Kalan kɛnɛ | Tɔgɔ | A sɔrɔ fɛ | Tirinisi |
|---|---|---|---|
nwc_url | tɛgɛ | Awɔ | Kunnbayiri sariya, a bɛ sɔrɔ nostr+walletconnect://. Nymbot dɛ kɛnɛ-kɛnɛ (wallet) bɛɛ ta fɛɛrɛ la get_info a ka fɔ mɔgɔ tɛ́ kɔnɔ k'a fɔ, k'a dɛmɛ k'a dɔn k'a fɛn dɔ n'a fɛ. |
threshold_sats | nɔgɔya | Awɔ | Sats kura kɔlɔn dɔ bɛ kɛ n'a fɔ i kɛra dɔ kɔrɔ dɔ ye. Kɔrɔ kɛ kɛ n'a fɔ 1,000. |
topup_sats | nɔgɔya | Awɔ | Bɛ nɔgɔya kɛ mun na fana dɔɔni dɔɔni. 1,000 ka bɛɛ 1,000,000 sats. |
tier | tɛgɛ | A yo | pro (ka faga) walla standardBalansi i ka dɔn kɛra ni ka i kɛlen. |
Sariya
{
"data": {
"connected": true,
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
"last_topup_at": null,
"last_topup_sats": null,
"last_error": null
}
}
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
400 | Connection string ye tɛ (invalid_nwc_url); bɔli kiliya kɛrɛ kɔnɔ ye ka fɔ kɛ mɔgɔ ye (nwc_unreachable) o a ka seki kɛ ɲɛ̃ (nwc_rejected); kunsun mako tɛ kɔrɔsi sɔrɔ kɛ se (nwc_missing_permission); nka sɔngɔ kɛnɛ nka mɛn fɛn kɛnɛ mɛn sɔrɔ kɛnɛ mɛn ɲɛ kɛnɛ. |
501 | Automatique dɔnni kɔrɔtɔ n’a fɔ n’a ye kɛnɛ kɛ n’a fɔ ko a tɛ kɛ kɛnɛ kɔrɔtɔ ye nin server ye (nwc_unavailable). A bɛ kɔrɔ kɛ kɔfɛ kɛnɛ kɛnɛ kɔfɛ kɛnɛ kɛnɛ dɔw ma ye. |
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connect
BODY='{"nwc_url":"nostr+walletconnect://...","threshold_sats":5000,"topup_sats":20000,"tier":"pro"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json, os
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect"
body = json.dumps({
"nwc_url": os.environ["NWC_URL"],
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect";
const body = JSON.stringify({
nwc_url: process.env.NWC_URL,
threshold_sats: 5000,
topup_sats: 20000,
tier: "pro",
});
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log(await res.json());
Tun kɛ kɛɲɛ kɛ kan
GET https://nymbot.ai/api/v1/nwc-auto-topup Tɛ̀ kɛra.
A bɛ kɛnɛ dɛmɛ bɛɛ kɛ kɛnɛ ye, kɛ bɛɛ kɛ ye connected: false ka kɔrɔ kɔnɔnyɔɔɲiƝɛw ye
null wallet tɛ kɛnɛya kɛna kɛ n'i tɛ kɛnɛya kɛ n'i tɛ walet tɛ kɛnɛya kɛ. Connection string kɛnɛya kɛ kɛ n'i tɛ kɛ n'i tɛ.
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup";
console.log(await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json());
A bɛ dɔkɔtɔna ɲɛ
DELETE https://nymbot.ai/api/v1/nwc-auto-topup/connection Tɛ̀ kɛra.
A bɛ kanyisira fanga bɛɛ bɛɛ i sɔrɔ fɛ kɛ. A tɛ kɛ kɛnɛya ye kɛ dɔɔni dɔɔni ye fɛ. I ka kɛ kɛnɛya fɛ, i bɛ kanyisira kɛ i ka kɛnɛya (wallet) la.
Sariya
{ "data": { "connected": false, "threshold_sats": null, "topup_sats": null, "tier": null, "last_topup_at": null, "last_topup_sats": null, "last_error": null } }
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connection
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
Kala kili k’a fɛ k’a bɛn kɛ fɛɛrɛ dɔ ye k’a kɛ fɛɛrɛ dɔ kɛ fɛɛrɛ kɛ k’a bɛn kɛ kɛ kɛ kɛ kɛ k’a bɛn kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ kɛ
Lightning kɔrɔɲi kɛnɛya la, fɛɛrɛ kɛtigi bɛ kɛ dɔɔni dɔɔni dɔɔni mɛn bɛ nɔgɔya, k'a tɛ kɛ kɛla dɔ kɛra fana,
ka kɛla tɛ, ka kontɔ kɛra fana, ka bɛn tɛ: POST /images/generations, POST /images/edits,
POST /videos, POST /audio/speech, POST /audio/transcriptions,
POST /audio/translations ani POST /embeddings. Chat, Responses ani
Messages kɛlɛ kɛ ye kili (key) ye kɛra dɔ ye. Kili kɛra kili kɛra dɔ ye fɛɛrɛ dɔ kɛra kɛra dɔ ye k'a ye;
sɔrɔ kɛlɛ kɛra kili kɛra dɔ ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ kɛra k'a ye k'a ye fɛɛrɛ dɔ kɛra kɛra dɔ ye fɛɛrɛ dɔ k
Nymbot kèlè kèlè kàla n’a fɛ, k’a fɔ k’a dɔrɔn fɔli kɛ: Lightning Labs'
L402 (a bɛɛ kɛ a ka kɔrɔtɔ mun u kɛra ye, LSAT) ani IETF draft kɛnɛ bɛɛ
Sira ka dɔnniya HTTP lanyi kɛ kɛmɛnɛ bɛ... lightning ɲɛkanu ni
charge tɔgɔ. I kɛ i fɛɛ mɔgɔ ye bɛɛ bɛ kɛ n ye.
Kili la kili fura kili fura fɛ kili fura kili fura kili fura kili fura kili fura fura kili fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura fura f API_L402_SECRET a bɛ kɛ ninnu de lanyansɛgɛ kɛmɛsan kɛmɛsan saba (32) kɔrɔ, hex (64 characters) walla base64 (44) kɔrɔ. Kɛ kɛnɛsan kɛ bɛɛ ye openssl rand -hex 32.
Kalan nɔgɔya wala nɔgɔya bɛ kɛ nɔgɔya mɔgɔ tɛ sɔrɔ kɛ kɛnɛya tɛ kɛ fɛɛrɛ ye, k’a fɔ nɔgɔya kɛngɛya kura kɛra kɛnɛ. A ka dɔnniya kɛra k’a dɔn kɛ, k’a tɔgɔ kura tila kɛ nɔgɔya kura kɛra kɛnɛ kɛra kɛnɛ. API_L402_SECRET_PREVIOUS ɲinɛ kɛɲɛ kɛra fɛɛrɛ kura fɛ: kɛnɛya kɛɲɛw, status URL-w ani
fanga kɛɲɛw bɛ kɛ kɛ n'a fɔ o kɛra ka dɔgɔlɛ tɛ kɛ se k'a kɔrɔ kɛra.
Kalan kɛ̀ kɛ̀
Kaba kɛlɛ si tɛ Authorization header. A ka kɛnɛya, u kɔrɔ de bɛɛ tɛ kɛ, n'a fɔ
i bɛ se ka... 402 Payment Required fɛ kɛnɛfɛn kan fɛ k'a kɔrɔsi k'a sɔrɔ fɛ k'a bɛɛ kɛ nkaɲɛ k'a fɛ k'a bɛɛ kɛ:
fɛn kɛnɛfɛn kɛnɛfɛn fɛ, a fɛ k'a jɛ kɛ fɛn kɛnɛfɛn dɔɔni dɔɔni fɛ, a kɛ kɛ a kɛ dɔɔni fɛ k'a jɛ kɛ k'a bɛɛ kɛ 10 sats standard credit fɛ so 100 sats Pro credit fɛ
ka a jɛ kɛ sat kɛlɛn kɛnɛfɛn fɛ (a kɛ dɔɔni sat 1 fɛ, ka a kɛ dɔɔni 0.05 credit minimum fɛ). A
ka kɛnɛfɛn bɛ kɛ nɔɔrɔso saba fɛ WWW-Authenticate fani fɛ kɛnɛ fɛ:
HTTP/1.1 402 Payment Required
Content-Type: application/problem+json; charset=utf-8
Cache-Control: no-store
WWW-Authenticate: L402 macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: LSAT macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: Payment id="kM9x...", realm="nymbot", method="lightning", intent="charge",
request="eyJhbW91bnQiOiIyMzciLC...", description="Nymbot API POST /images/generations (237 sats)",
digest="sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=:", expires="2026-09-30T12:15:00.000Z",
opaque="eyJlbmRwb2ludCI6IlBPU1QgL2ltYWdlcy9nZW5lcmF0aW9ucyJ9"
{
"type": "https://paymentauth.org/problems/payment-required",
"title": "Payment Required",
"status": 402,
"detail": "This request costs 237 sats. Pay the Lightning invoice, then send the identical request again ...",
"challengeId": "kM9x...",
"amount_sats": 237,
"invoice": "lnbc2370n1...",
"payment_hash": "9db1370f...",
"expires_at": "2026-09-30T12:15:00.000Z",
"error": { "message": "This request costs 237 sats. ...", "type": "payment_required", "code": "payment_required", "param": null }
}
Kalifa kɛnɛ request parameter bɛ base64url JSON ye:
{"amount":"237","currency":"sat","methodDetails":{"invoice":"lnbc...","network":"mainnet","paymentHash":"..."}}.
Kalan kɛnɛ kɛ n'a fɛ bɛɛ k'a fɔ bɛɛ k'a fɔ bɛɛ k'a fɔ... Content-Type (a media type ni,
multipart ye, a boundary) ni i a dɛmɛ dɔ bɛ i sɔrɔ SHA-256 dɛmɛ kɛ i a yɛrɛ kɛra dɔ dɔ fɛ, o bɛ kɛ minin la 15
minuti. I ka kɛlɛ kɛ k'a fɔ, a dɛmɛ a... ba dɔ kɛrɛŋɛnɛ faga kɛ faga kɛ: kalan de bɛɛ
Content-Type ka JSON bytes kɛɛɲɛ, o tɛ multipart endpoints ye
(/images/edits, /audio/transcriptions, /audio/translations) multipart body dɔ kɛ boundary dɔ kɛ dɔ. HTTP lǐbrɛriw bɛɛ bɛ boundary dɔ kɛ dɔ dɔ kɛ form dɔ kɛ, nka encode kɛ dɔ kɛ i n'a fɔ i ka bytes dɔ dɔ kɛ.
A kɔrɔ kɔrɔ bɛɛ bɛ se ka kɛnɛya kɛ kɛminɛ dɔgɔ so (IPv6 kɔrɔ bɛ kɛ a kɔrɔ /64 ye).
A dɛmɛ bɛɛ minnin kɔrɔ bɛ se ka kɛ kɛminɛ dɔgɔ so yan (10) ye, nka kɔrɔ bɛɛ bɛɛ kɔrɔ kɛ kɛminɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ bɛɛ bɛɛ kɛ kɛla kɛ kɛnɛya dɔ bɛɛ kɛ kɔrɔ 429 kɛ Retry-After, a sɔ ka kɔrɔ kɔrɔ bɛ kɛ k'a fɛ ka bɔ ni ka fɛn bɛɛ tɛ kɔrɔ dɔ kɛ kɛ dɛmɛ dɔ kɔrɔ fɛ, a bɛ dɔ kɛ k'a fɛ ka fɛn bɛɛ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a bɛ dɔ kɛ k'a fɛ ka bɔ ni ka kɛnɛya dɔ tɛ fɛ, a Content-Type tɛ application/json (ka bɛ̌
multipart/form-data tɔgɔw fɛɛrɛw (uploads) bɛ a ka nɔgɔya fɛɛrɛ bɛ a fɛ dɔ kɛ kɛnɛ fɛ 415 ka fanga k’a la
fari-den dɔ kɔrɔ.
Embeddings fɛfɛ bɛ kɛ i ka kɛnɛ (input) token kɛlɛ la, a bɛ kɛ 1.5 fɛn fɛn la, nka token kɛlɛ kɛnɛ bɛ fɔ fana kɛ. I bɛ kɛ token o min bɛ kɛ kɛ la ye, nka i ka kɛ o kɔrɔ bɛ kɛ... tɔn tɔn dɔmɔnna kɛnɛ.
Sulu fɔ
Lightning wallet bɛɛ fɛ invoice kɛ. Wallet bɛ i ye preimage jɛ, a bɛ kɛ hex characters 64 ye. Nka i a kɛ request bɛɛ kɛ nɔgɔn fɛ:
| Tunu | Kɛlɛkɛla |
|---|---|
| L402 | Authorization: L402 <macaroon>:<preimage> (LSAT a bɛ kɛ nɔɔrɔ fɛ mɔgɔw ye ka kɛ kɛnɛya ye) |
| Sira ka dɔnniya | Authorization: Payment <base64url JSON>, JSON bɛ ɲɛ {"challenge": {every parameter of the challenge, as sent}, "payload": {"preimage": "<hex>"}} |
Sira kɛnɛya kɛra k'a fɔ k'a fɔ kɛ siri kɛrɛnkɛrɛn kɛra dɔ kɛra fɛ, o k'a fɔ ko... nymbot
Objet tɛ balansi kɛnɛw fɛ: {"payment": "l402", "tier": "pro", "paid_sats": 237,
"charged_sats": 237}, nka t'a bɛ X-Nymbot-Balance-Sats header. A
kalan kɛnɛ kɛra kɔmɔgɔw kɔrɔ kɛmɛ bɛɛ kɛra kɛmɛ mɔgɔw dɛmɛ kɛ kɛmɛ kɛnɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ kɛmɛ bɛɛ kɛmɛ kɛ mɔgɔw kɛmɛ Payment-Receipt header (base64url
JSON k'a fɛ challenge id ye, payment hash ye k'a fɔ reference, status ani
timestamp). Sɔrɔ kɛɲɛ kɛw ye kɛnɛ kɛ dɔ kɔrɔ tɛ, nka u tɛ query history la ye.
| Ɲɛmɔgɔ | Ɲɛ? |
|---|---|
402 payment_already_used | Kùnɛ kùnɛ bɛ kùnɛ kùnɛ kulu kalsi la. Hakɛl bɛ kùnɛ kùnɛ kùnɛ kalsi la, nka kɛnɛya kiliɲɛ bɛ kùnɛ kùnɛ kùnɛ kalsi la, nka kiliɲɛ kɛnɛya kiliɲɛ bɛ kùnɛ kùnɛ kùnɛ kalsi la (as lnget a bɛ kɛ kɛnɛya kɛ fɛɛrɛ kɛra. |
402 payment_mismatch | Koli kulu bɛ kɛ kɔfɛ kɛlɛ kɔrɔ fɛ, Content-Type an bɔrɔ, a bɛ mɔgɔ sɔrɔ fɛɛrɛ nin kɔfɛ nɔgɔya. nin kɛlɛ kɛnɛ kura nin kɛlɛ dɛmɛ ye bɛ a fɛ; n’a fɔ ko sɔrɔ kɛnɛ kura bɛɛ tɛ sɔrɔ ye, i ka sɔrɔ kɛnɛ bɛ kɛ a fɛɛrɛ ye tɔn tɔn dɔmɔnna kɛnɛ (refund_token ani refund_sats ɲɛmɔgɔ kɔnɔ la. |
402 payment_expired | Minut mɔ̀ kɛli kɔrɔ tɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ mɔ̀ mɔ̀ kɛ m tɔn tɔn dɔmɔnna kɛnɛ (refund_token ani refund_sats ɲɛmɔgɔ la), kɛlen; nka n’a bɛ kɛ, a tɛ se ka bɛɛ kɛ k’a fɔ k’a dɔgɔtɛ. |
401 invalid_preimage | Preimage kɔ k’a fɛ k’a bɛn invoice payment hash kɔnɔ. Payment k’a fɔ k’a tɛ dɔrɔn dɔrɔn fɛ. |
401 invalid_payment_credential | Kalan-fɛn bɛ kɔrɔ, Nymbot a ye ka fɛɛrɛ bɔ k'a ye, o tɛ, o bɛ kura kɛ Nymbot a ye ka kɛ nɔgɔ kɛ k'a ye, o tɛ, o bɛ kura kɛ kɛnɛya kɛ k'a ye Nymbot tɛ mɛn kɛ nɔgɔ kɛ k'a ye. Macaroon bɛ kɛ nɔgɔ fɛɛrɛ mɛn Nymbot tɛ mɛn, o tɛ, kɛ nɔgɔ fɛɛrɛ kɛnɛya kɛ k'a ye, o bɛ kɛ nɔgɔ dɔrɔn kɛ k'a ye. |
429 rate_limit_exceeded | Kalan kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ bɛɛ kɛnɛ kɛnɛ b Retry-After. |
cURL
BODY='{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}'
URL=https://nymbot.ai/api/v1/images/generations
# 1. Get the challenge
CH=$(curl -s -D - -o /dev/null "$URL" -H "Content-Type: application/json" -d "$BODY" | grep -i '^www-authenticate: L402')
MAC=$(echo "$CH" | sed -E 's/.*macaroon="([^"]+)".*/\1/')
INVOICE=$(echo "$CH" | sed -E 's/.*invoice="([^"]+)".*/\1/')
# 2. Pay $INVOICE with your wallet and copy the preimage
PREIMAGE=...
# 3. Send the identical request with the credential
curl "$URL" -H "Content-Type: application/json" -H "Authorization: L402 $MAC:$PREIMAGE" -d "$BODY"
lnget
# lnget (Lightning Labs) pays L402 challenges from your own lnd node and retries for you
lnget -X POST -H "Content-Type: application/json" \
-d '{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}' \
https://nymbot.ai/api/v1/images/generations
Python
import base64, json, re
import requests
url = "https://nymbot.ai/api/v1/images/generations"
body = json.dumps({"model": "nano-banana", "prompt": "a lighthouse at dusk", "response_format": "b64_json"}).encode()
headers = {"Content-Type": "application/json"}
challenge = requests.post(url, data=body, headers=headers)
assert challenge.status_code == 402
info = challenge.json()
print("Pay", info["amount_sats"], "sats:", info["invoice"])
preimage = pay_with_your_wallet(info["invoice"]) # 64 hex characters
# L402
mac = re.search(r'L402 macaroon="([^"]+)"', challenge.headers["WWW-Authenticate"]).group(1)
res = requests.post(url, data=body, headers={**headers, "Authorization": f"L402 {mac}:{preimage}"})
print(res.json()["nymbot"])
JavaScript
const url = "https://nymbot.ai/api/v1/images/generations";
const body = JSON.stringify({ model: "nano-banana", prompt: "a lighthouse at dusk", response_format: "b64_json" });
const headers = { "Content-Type": "application/json" };
const challenge = await fetch(url, { method: "POST", headers, body });
const www = challenge.headers.get("www-authenticate");
// The Payment scheme: echo every challenge parameter back with the preimage
const start = www.indexOf("Payment ");
const params = Object.fromEntries([...www.slice(start + 8).matchAll(/(\w+)="((?:[^"\\]|\\.)*)"/g)].map((m) => [m[1], m[2]]));
const { invoice } = JSON.parse(Buffer.from(params.request, "base64url").toString()).methodDetails;
const preimage = await payWithYourWallet(invoice);
const credential = Buffer.from(JSON.stringify({ challenge: params, payload: { preimage } })).toString("base64url");
const res = await fetch(url, { method: "POST", headers: { ...headers, Authorization: `Payment ${credential}` }, body });
console.log((await res.json()).nymbot, res.headers.get("payment-receipt"));
Miyagaaw kura ye fura ye mppx Lightning mɔgɔw bɛ kɛ kura kɛmɛ kɛra kan ka jɛfɛ fɛn dɔ kɛ ka dɔn ko fɛn dɔ dɔn, nka i n'a fɔ i bɛ u nɔ kɛ fɛn dɔ kɛ ani u bɛ u kɛ fɛn dɔ kɛ.
Vidéo la
A kɛra kow kɛra POST /videos kañɛtɔgɔnw 202 ka kili kili kɛ, k’a fɛ k’a dɛmɛ a kɛ kɛɲɛ kɛ
status_url: GET A tɛ kulu kɛra k’a fɛ k’a kɛ i n’a fɔ ka kɛƝ kɔnɔ. A bɛ kɛ ninnun nɔɔ, a bɛ kɛ sigi kɛ kɛlɛsan kɛlɛnna, a bɛ kɛ dɔɔni dɔɔni fana, a bɛ kɛ mɔgɔw kɛlɛsan kɛlɛnna.
{
"id": "vid_...",
"status": "in_progress",
"status_url": "https://nymbot.ai/api/v1/videos/vid_...?exp=1790000000&sig=...",
"nymbot": {
"payment": "l402", "tier": "pro", "paid_sats": 4800, "charged_sats": 4800,
"refund_token": "REFUND-5E0B..."
}
}
A ka di k'a bɛn refund_token a kɔrɔsi kɔrɔsi fɛ: a bɛ fɛɛrɛ kɛ fɛɛrɛ kɛ nɔɔni kɛra kɛ. A bɛ bɔ kɛ
video bɛ kɛ kɛ nɔɔni kɛ (GET /api/v1/l402/refunds kañɛtɔgɔnw "status": "pending");
konɔ fɛ k'a fɔ ko render bɛ kɛ k'a tɛ mɔgɔ ye bɛɛ n'a ka fɛn bɛɛ tɛ fɛ, sariya bɛ bɔ a la. Status URL bɛ a tɛgɛ de hakɛ dɔ kɛ
refund_sats Dugutigi (job) kɛra kɔlɔsi ye nka token tɛ, o ka fɔ o ye, status URL sɔrɔ ye kɔlɔsi sɔrɔ ye tɛ. Token sɔrɔ kɛ kɛra dugutigi (job) tigi la ye, u mako tɛ u ka sɔrɔ ye.
Kɛmɛ kura
Sisan kili mako bɛ kɛ, ni kili kɛla ka san mɛn kɛra a kɔfɛ, ni dɛmɛbaga bɛ Nymbot sɔrɔ sɔrɔ kɛra a kɔfɛ, sɔrɔ bɛ kɛ kɛnɛya kɛra, ani kɛra ka fɔ kɛ: charged_sats, dɔ fɛlɛ dɔ kɛ 'keyed request' dɔ kɛ fɛ ko. Ni a tɛ kɛra, sɛlɛ tɛ sɔrɔ, error dɔ bɛ... tɔn tɔn dɔmɔnna kɛnɛ i ka sɔgɔma kɛ i ka sɔgɔma fɛ:
{
"error": {
"message": "The image generator failed. Nothing was charged. Please try again. The 237 sats you paid are on refund token REFUND-...",
"type": "api_error",
"code": "upstream_error",
"refund_token": "REFUND-0C15DBED145D59131BA70298A413ADEB3D9B9AB082C476EA70A5BD38FCA5DE6D",
"refund_sats": 237,
"refund_expires_at": "2026-10-30T12:00:00.000Z"
}
}
Fɛn tɛ dɛmɛ kɛ fɛn ye, o bɛ bɔ o kɛ kɛ fɛn ye: n'i a fɛ fɔlɔ bɛɛ, n'a ye fali ni a tɛ nɔgɔ ye, o kɛ kɛ k'a ye... nymbot ɲɛɲɛɲɛ kɛra k'a fɛ mɔgɔ fɛ mɔgɔ kɛ k'a ye k'a dɛmɛ k'a fɛ mɔgɔ kɛra k'a fɛ k'a tɛmɛ;
tɔn kɛra k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ;
a ye fɛ mɔgɔ kɛ k'a fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a bɛɛ mɛn tɛ fɛ mɔgɔ kɛ k'a b 413
ka jɛɛɲɛ bɛɛ kɔrɔ. Embeddings bɛ k'a fɔ k'a fɛɛrɛ ye. Video de tɛ kɛ k'a ye, a bɛ token de la a k'a ye.
Refund token ye kɔrɔ koli bɛɛ kɛ kura saba bɛɛ kɛ dɔ dɔ de ye. Nymbot a hash kɛnɛ ye taga, n'a bɛ kɛ saba kɛmɛ mɛn dɔɔni ma. O ye sat balance ye, i bɛ se ka:
- A bɛ n kɛ kadi fɛ. Ɲindi
Authorization: Bearer REFUND-…ɲɛmɔgɔw bolo kɛnɛw ka la (OpenAI SDK bɛ a fɔ a ye API key ye). Sɛrɛ bɛ token kɔnɔ kɛ, o bɛ mun kɛ kɔfɛ kɛ o ka dɔ kɔrɔ munu bɛ kɛ (refund_token_satsɲɛ́ kɔnɔnymbotfɛli). Token kɛlɛ kɛnɛ tɛ n'a fɔ ko a bɛ a fɛ nka dɔɔni.402refund_insufficient; n ka kɛnkɛya n kɔrɔ kɔrɔ dɔ bɛ sats bɛɛ dɛmɛ dɔ dɔ kɔnɔ bɛɛ. - A fɔ.
GET /api/v1/l402/refundska kɛ nɔgɔ kɛrɛnkɛrɛn nɔɔ kɛ a bɛ a jelli{"sats": 237, "status": "open", "expires_at": "..."}. - Token kel kɔ bɛ se ka kɛ minataa kɛli kɛli wɛrɛ kɔrɔ nɔɔ ma 60.
- A ka nym dɛmɛ dɔ ka la. A fɛlɛ kɔnɔ Ɲɛgɛ kɛ kadi fɛɛrɛ lakana kɛra Nymbot application kɔnɔ, walla fɔ
POST /api/v1/l402/refunds/redeemdɔ ye Tègè siŋari ani{"refund_token": "REFUND-...", "balance": "standard"}(ka bɛ̌"pro"). Credit bɛɛ bɛ dɔnniya bɛɛ (10 sats standard la, 100 Pro la); sats sɔrɔ bɛɛ bɛ tɛ credit kɛ kɛ nɔɔrɔ, o bɛ token kɔnɔ bɛ kɛ API requests ye.
cURL
URL=https://nymbot.ai/api/v1/l402/refunds/redeem
BODY='{"refund_token":"REFUND-...","balance":"standard"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Sariya
{ "data": { "credited": 23, "tier": "standard", "balance_credits": 123, "remaining_sats": 7 } }