ଜ୍ଞାନ ଆଧାର ପଢନ୍ତୁ
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ସୁବିଧା ପାଇଁ ଏହି ପୃଷ୍ଠା ମେସିନ୍-ଅନୁବାଦିତ | ଇଂରାଜୀ ମୂଳ ହେଉଛି ସଂସ୍କରଣ ଯାହା ପ୍ରଯୁଜ୍ୟ |
କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
GET https://nymbot.ai/api/v1/credits/balance Straight to the Point କାମ ଦେଉନି ସଚେତନତା! POST କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
balance ବର୍ତ୍ତମାନର ବିଟ୍କଏନ୍ ମୂଲ୍ଯ଼ରେ ଡଲାରରେ ଦୁଇଟି ସନ୍ତୁଳନ କ'ଣ, ସେହି ଉପକରଣଗୁଡ଼ିକ ପାଇଁ ଯାହା ଗୋଟିଏ ସଂଖ୍ଯ଼ା ଆଶା କରେ (null ଯଦି ମୂଲ୍ଯ଼କୁ ପଢ଼ାଯାଇପାରିବ ନାହିଁ)। ବାକି କ୍ରେଡିଟ୍ ଏବଂ ସାଟ୍ ରେ ଅଛି, ଯାହା ପ୍ରକୃତରେ ବାଲାନ୍ସ ରଖାଯାଏ | key କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପଢନ୍ତୁ
{
"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"
}
}
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
401 | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! |
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);
ଦେଯ଼ ପଦ୍ଧତି
ଆପଣ କିପରି ଟପ୍ ଅପ୍ କରିପାରିବେ, ଏବଂ ସୀମା। ବିଜୁଳି ହେଉଛି ଏକମାତ୍ର ଉପାଯ଼ |
GET https://nymbot.ai/api/v1/topup/payment-methods - କୌଣସି ଚାବି ଦରକାର ନାହିଁ।
A top-up is 10 to 1,000,000 sats; A Pro top-up has to buy at least one Pro credit, so it starts at 100 sats. bulk_bonus କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
ପଢନ୍ତୁ
{
"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);
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! ପଢନ୍ତୁ କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
POST https://nymbot.ai/api/v1/topup/create/btc-lightning Straight to the Point କାମ ଦେଉନି ସଚେତନତା!
| ପଢନ୍ତୁ | ପଢନ୍ତୁ | ଆବଶ୍ଯ଼କ। | ପଢନ୍ତୁ |
|---|---|---|---|
amount | ସଂଖ୍ଯ଼ା | ହଁ | ସେ କହନ୍ତି, “ଏହା ଆମ ଟୋଡ଼ା ମହିଳାମାନଙ୍କ ପାଇଁ ଚିନ୍ତାର ବିଷୟ ! currencyକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
currency | ପଢନ୍ତୁ | ପଢନ୍ତୁ | SATS (ପୂର୍ବନିର୍ଦ୍ଧାରିତ), USD କିମ୍ବା BTCଡଲାରକୁ ବର୍ତ୍ତମାନର ବିଟ୍କଏନ୍ ମୂଲ୍ଯ଼ରେ ରୂପାନ୍ତରିତ କରାଯାଇଥାଏ। |
tier | ପଢନ୍ତୁ | ପଢନ୍ତୁ | pro (ପୂର୍ବନିର୍ଦ୍ଧାରିତ) କିମ୍ବା standard: କ୍ରେଡିଟ କେଉଁ ବାଲାନ୍ସକୁ ଯାଉଛି। |
A standard credit is 10 sats and a Pro credit 100 sats, plus any bulk bonus;
credits କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions
ପଢନ୍ତୁ
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"payment_request": "lnbc100u1p5...",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": "2026-09-30T09:27:00Z",
"status": "pending"
}
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
400 | ପଥରେ ଅନ୍ଯ଼ ଏକ ପଦ୍ଧତି (unsupported_method), ଏକ ଅଜଣା ମୁଦ୍ରା (unsupported_currency) କିମ୍ବା ସ୍ତର, ଏକ ଅନୁପସ୍ଥିତ ପରିମାଣ, କିମ୍ବା ସର୍ବନିମ୍ନ (amount_too_small), ଉପରେ 1,000,000 ସାଟ୍ସ (amount_too_largeକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (amount_out_of_range). |
429 | ଏହି ଏନ୍. ଆଇ. ଏମ୍. ପାଇଁ 60 ରୁ ଅଧିକ ଇନଭଏସ୍, କିମ୍ବା ଏହି ଠିକଣାରୁ 120, ଏକ ଘଣ୍ଟା ମଧ୍ଯ଼ରେ (rate_limit_exceededପଢନ୍ତୁ Retry-After). |
502 | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (invoice_unavailableପଢନ୍ତୁ 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);
କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! creditedପରେ ପୁନର୍ବାର ଯାଞ୍ଚ କରିବା ନିରାପଦଃ କ୍ରେଡିଟ୍ ଥରେ ଅବତରଣ କରେ, ଯଦିଓ ଆପଣ ଅନେକ ଥର ପଚାରନ୍ତି |
GET https://nymbot.ai/api/v1/topup/status/{invoice_id} କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
status ପଢନ୍ତୁ pending (ଏପର୍ଯ୍ଯ଼ନ୍ତ ପଇଠ ହୋଇନାହିଁ), paid (ଦେଯ଼, କିନ୍ତୁ ଏପର୍ଯ୍ଯ଼ନ୍ତ ଜମା ହୋଇନାହିଁ; ପୁନର୍ବାର ଯାଞ୍ଚ କରନ୍ତୁ), credited (ଆପଣଙ୍କ ବଳକା ଉପରେ) କିମ୍ବା expired କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପଢନ୍ତୁ
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"status": "credited",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": null,
"balance_credits": 523.33,
"balance_sats": 52333
}
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
400 | ଆଇଡିଟି'କ୍ରିଏଟ କଲ'ର 64 ଅକ୍ଷର ବିଶିଷ୍ଟ ଆଇଡି ନୁହେଁ। |
404 | ଆପଣଙ୍କ ଏନ୍. ଆଇ. ଏମ୍. ପାଇଁ ସେହି ଆଇ. ଡି. ଦ୍ୱାରା କୌଣସି ଇନଭଏସ୍ ନାହିଁ (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);
Straight to the Point କାମ ଦେଉଛି
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
GET https://nymbot.ai/api/v1/queries/history - ଏକ ଏ. ପି. ଆଇ. କି ଦରକାର, ଯାହା ନିଜର ଅନୁରୋଧ ଦେଖେ, କିମ୍ବା ସ୍ୱାକ୍ଷରିତ ଅନୁରୋଧ କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
| ପଢନ୍ତୁ | ପଢନ୍ତୁ | ଆବଶ୍ଯ଼କ। | ପଢନ୍ତୁ |
|---|---|---|---|
page | ପଢନ୍ତୁ । | ପଢନ୍ତୁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. 400 invalid_value. |
page_count | ପଢନ୍ତୁ । | ପଢନ୍ତୁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
start_dateend_date | Straight to the Point କାମ ଦେଉଛନ୍ତି କି ? | ପଢନ୍ତୁ | ISO 8601 ପଢନ୍ତୁ. |
model | Straight to the Point କାମ ଦେଉଛନ୍ତି କି ? | ପଢନ୍ତୁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
type | Straight to the Point କାମ ଦେଉଛନ୍ତି କି ? | ପଢନ୍ତୁ | chat, responses, messages, image, video, speech, transcription କିମ୍ବା embedding. |
all_keys | ପଢନ୍ତୁ ( | ପଢନ୍ତୁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. true ସମାନ ନାମର ପ୍ରତ୍ଯ଼େକ କି ଅନ୍ତର୍ଭୁକ୍ତ କରେ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ false. |
key_id | Straight to the Point କାମ ଦେଉଛନ୍ତି କି ? | ପଢନ୍ତୁ | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions all_keys=trueକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
ପଢନ୍ତୁ
{
"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);
ଆକାଉଣ୍ଟ ଅନୁରୋଧଗୁଡ଼ିକ ସାଇନ୍ କରୁଛନ୍ତି
କି ତିଆରି କରିବା, ବଦଳାଇବା ଏବଂ ପ୍ରତ୍ଯ଼ାହାର କରିବା, ଆକାଉଣ୍ଟ ସାରାଂଶ ଏବଂ ସ୍ୱଯ଼ଂକ୍ରିଯ଼ ଟପ୍-ଅପ୍ଗୁଡ଼ିକ ଏକ ଏ. ପି. ଆଇ. କି ନିଅନ୍ତି ନାହିଁ। ସେମାନେ ଆପଣଙ୍କ ଏନ୍. ଆଇ. ଏମ୍. ରୁ ଏକ ଦସ୍ତଖତ ନିଅନ୍ତି, ତେଣୁ ଏକ ଲିକ୍ ହୋଇଥିବା କି ଏହାର କ୍ଯ଼ାପ୍ ପର୍ଯ୍ଯ଼ନ୍ତ ଖର୍ଚ୍ଚ କରିପାରିବ କିନ୍ତୁ ଅନ୍ଯ଼ ଏକ କି ତିଆରି କରିପାରିବ ନାହିଁ କିମ୍ବା ନିଜର କ୍ଯ଼ାପ୍ ଉଠାଇପାରିବ ନାହିଁ।
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions ପଢନ୍ତୁ ପତ୍ରଟି ଏହି ଶେଷ ବିନ୍ଦୁଗୁଡ଼ିକୁ ବ୍ଯ଼ବହାର କରିଥାଏ। ଆପଣଙ୍କୁ କେବଳ ନିଜ କୋଡ଼ରୁ କିଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବା ପାଇଁ ଏହି ବିଭାଗର ଆବଶ୍ଯ଼କତା ରହିଛି।
ସ୍ୱାକ୍ଷରଟି ହେଉଛି 27235 (ଏନ୍. ଆଇ. ପି.-98) ପ୍ରକାରର ଏକ ନୋଷ୍ଟର୍ ଘଟଣା, ଯେଉଁଥିରେ ବେସ୍64-ଏନ୍କୋଡ୍ ପଠାଯାଇଛି
Authorization ଶବ୍ଦ ସହିତ ଶୀର୍ଷକ Nostr ଆଗରେଃ
ଘଟଣାଟି
{
"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": "..."
}
uଅନୁରୋଧର ସମ୍ପୂର୍ଣ୍ଣ URL, ଅନୁସନ୍ଧାନ ଷ୍ଟ୍ରିଙ୍ଗ ଅନ୍ତର୍ଭୁକ୍ତ, ଠିକ୍ ପଠାଯାଇଥିବା ପରି |methodକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.payloadକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.POSTଏବଂPATCHକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!created_atକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.- କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
GETକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!nonceକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. - ଏକ ସ୍ୱାକ୍ଷରିତ ଅନୁରୋଧର ମୁଖ୍ଯ଼ ଅଂଶ ସର୍ବାଧିକ 64 କେବି ହୋଇପାରେ, ଏବଂ ଏକ ଶରୀର ଆବଶ୍ଯ଼କ କରେ |
Content-Type: application/json.
Straight to the Point କାମ ଦେଉନି ସଚେତନତା 401 missing_nostr_authଏକ ଯାହା ଖରାପ ଭାବରେ ଗଠିତ, ଖରାପ ଭାବରେ ଦସ୍ତଖତ ହୋଇଛି, ବହୁତ ପୁରୁଣା, କିମ୍ବା ଏକ ଭିନ୍ନ URL, ପଦ୍ଧତି କିମ୍ବା ବଡି ରିଟର୍ଣ୍ଣ ପାଇଁ _
invalid_nostr_authସେ କହନ୍ତି, “ଏହା ଆମ ଟୋଡ଼ା ମହିଳାମାନଙ୍କ ପାଇଁ ଚିନ୍ତାର ବିଷୟ !
nostr_auth_replayed(ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī. 429 ପଢନ୍ତୁ
Retry-After.
ବ୍ରାଉଜର୍ମାନେ କେବଳ ନିମ୍ବଟ୍ର ନିଜସ୍ୱ ସାଇଟ୍ଗୁଡ଼ିକରୁ ଏହି ଶେଷ ପଏଣ୍ଟଗୁଡ଼ିକୁ କଲ୍ କରିପାରିବେ (https://nymbot.ai,
https://nymchat.app କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
Origin, ପ୍ରଭାବିତ ହୁଅନ୍ତି ନାହିଁ।
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! nsecକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! NOSTR_SECRET_HEXକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
ପଢନ୍ତୁ କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! sha256sum (ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀ 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");
}
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions? କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. ପଢନ୍ତୁ, ପଢନ୍ତୁ
null ଯେତେବେଳେ ସର୍ଭର ସେମାନଙ୍କୁ ପ୍ରଦାନ କରେ ନାହିଁ।
GET https://nymbot.ai/api/v1/account ପଢନ୍ତୁ A ସ୍ୱାକ୍ଷରିତ ଅନୁରୋଧ.
ପଢନ୍ତୁ
{
"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());
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions Straight to the Point କାମ ଦେଉଛନ୍ତି କି ?କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପଢନ୍ତୁ
{
"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 ଗୋଟିଏ ଚାବି ଚିହ୍ନିବା ପାଇଁ ଏହା ଯଥେଷ୍ଟ, କିନ୍ତୁ ଏହାକୁ ବ୍ଯ଼ବହାର କରିବା ପାଇଁ ନୁହେଁ। ଚାବି ନିଜେ ଥରେ ହିଁ ଫେରସ୍ତ ହୋଇଥାଏ, ଯେତେବେଳେ ଏହା ତିଆରି ହୋଇଥାଏ।
INGREDIENTS ଆବଶ୍ୟକ ସାମଗ୍ରୀ
GET https://nymbot.ai/api/v1/keys ପଢନ୍ତୁ ।
| ପଢନ୍ତୁ | ପଢନ୍ତୁ | ଆବଶ୍ଯ଼କ। | ପଢନ୍ତୁ |
|---|---|---|---|
include_revoked | ପଢନ୍ତୁ ( | ପଢନ୍ତୁ | ପ୍ରତ୍ଯ଼ାହାର କରାଯାଇଥିବା କିଗୁଡ଼ିକୁ ସାମିଲ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ false. |
ପଢନ୍ତୁ
{ "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);
ଏକ ଚାବି ତିଆରି କରିବା
POST https://nymbot.ai/api/v1/keys କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. 201.
| ପଢନ୍ତୁ | ପଢନ୍ତୁ | ଆବଶ୍ଯ଼କ। | ପଢନ୍ତୁ |
|---|---|---|---|
name | ପଢନ୍ତୁ | ହଁ | 1 ରୁ 40 ଅକ୍ଷର, ଆପଣଙ୍କ ଅନ୍ଯ଼ ସକ୍ରିଯ଼ କିଗୁଡ଼ିକ ଠାରୁ ଭିନ୍ନ (କେସ୍ କୁ ଅଣଦେଖା କରି)। |
limit_sats | ପୂର୍ଣ୍ଣ ସଂଖ୍ଯ଼ା | ପଢନ୍ତୁ | ସଟ୍ ରେ ଖର୍ଚ୍ଚ ସୀମା, ଅତିକମ୍ରେ 1. ଏହାକୁ କୌଣସି ସୀମା ବିନା ଛାଡି ଦିଅନ୍ତୁ | |
reset_period | ପଢନ୍ତୁ | ପଢନ୍ତୁ | daily, weekly କିମ୍ବା monthlyପଢନ୍ତୁ limit_satsକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! |
expire_at | Straight to the Point କାମ ଦେଉନି ସଚେତନତା | ପଢନ୍ତୁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
ପଢନ୍ତୁ (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"
}
}
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
400 | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (duplicate_name); ଏକ କ୍ଯ଼ାପ୍ ଯାହା ଅତିକମରେ 1 ର ସମ୍ପୂର୍ଣ୍ଣ ସଂଖ୍ଯ଼ା ନୁହେଁ; କ୍ଯ଼ାପ୍ ବିନା ଏକ ରିସେଟ ଅବଧି; ଅତୀତରେ ଏକ ସମାପ୍ତି; ଏକ ଅଜ୍ଞାତ କ୍ଷେତ୍ର (unknown_parameter); କିମ୍ବା ପୂର୍ବରୁ ସକ୍ରିଯ଼ ଥିବା 25ଟି କି (too_many_keys). |
429 | (ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī.rate_limit_exceededପଢନ୍ତୁ 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);
କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
GET https://nymbot.ai/api/v1/keys/{id} ପଢନ୍ତୁ ।
ପ୍ରତ୍ଯ଼ାବର୍ତ୍ତନ {"data": {…}} ମୁଖ୍ଯ଼ ବସ୍ତୁ ସହିତ, କିମ୍ବା 404
key_not_found କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions
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);
କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
PATCH https://nymbot.ai/api/v1/keys/{id} ପଢନ୍ତୁ ।
କେଉଁ ଲୋକମାନେ ଅଦା name, limit_sats, reset_period ଏବଂ
expire_atକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! null (ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī.400 key_revoked)। ପ୍ରତ୍ଯ଼ାବର୍ତ୍ତନ
{"data": {…}} ଅଦ୍ଯ଼ତନ କରାଯାଇଥିବା ମୁଖ୍ଯ଼ ବସ୍ତୁ ସହିତ।
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);
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
DELETE https://nymbot.ai/api/v1/keys/{id} ପଢନ୍ତୁ ।
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions revoked_at କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions include_revoked=trueକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପଢନ୍ତୁ
{ "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());
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
ଏକ ଲାଇଟନିଂ ୱାଲେଟକୁ ନୋଷ୍ଟର ୱାଲେଟ କନେକ୍ଟ ସହିତ ସଂଯୋଗ କରନ୍ତୁ ଏବଂ ଯେତେବେଳେ ଏ. ପି. ଆଇ. ଖର୍ଚ୍ଚ କମ୍ ହୁଏ, ନିମ୍ବଟ ନିଜେ ହିଁ ଏକ ସନ୍ତୁଳନକୁ ଶୀର୍ଷରେ ରଖିଥାଏ। ଆପର ଏ. ପି. ଆଇ. ଶୀଟର ସମାନ ସେଟିଂ ରହିଛି; ଏଗୁଡ଼ିକ ହେଉଛି ଏହା ପଛର ଶେଷ ପଏଣ୍ଟ। ସେ ସବୁର ଆବଶ୍ଯ଼କତା ହେଉଛି ଏକ ସନ୍ତୁଳନ। ସ୍ୱାକ୍ଷରିତ ଅନୁରୋଧ.
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions Don’t Use Ginger If You Have Any of These Conditions Don’t Use Ginger If You Have Any of These Conditions କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. ଏହାକୁ ଶ୍ରେଯ଼ ଦିଅନ୍ତୁ।
ଏକ ସଂଯୋଗ ଷ୍ଟ୍ରିଙ୍ଗ୍ ଯେକୌଣସି ବ୍ଯ଼କ୍ତିଙ୍କୁ ଆପଣଙ୍କ ୱାଲେଟ୍ ଧରିଥିବା ବ୍ଯ଼କ୍ତିଙ୍କୁ ଦେଯ଼ ଦେବାକୁ ଅନୁମତି ଦେଇଥାଏ। ନିମ୍ବଟ୍ ଏହାକୁ ଏନକ୍ରିପ୍ଟେଡ୍ କରି ରଖିଥାଏ ଏବଂ କେବଳ ନିଜ ଟପ୍-ଅପ୍ ଇନଭଏସ୍ ପଇଠ କରିବା ପାଇଁ ଏହାକୁ ବ୍ଯ଼ବହାର କରିଥାଏ, କିନ୍ତୁ କେବଳ ଏଥିପାଇଁ ଆପଣଙ୍କ ୱାଲେଟରେ ଏକ ଖର୍ଚ୍ଚ ବଜେଟ୍ ସହିତ ସଂଯୋଗ କରିଥାଏ, ଯାହା ଦ୍ୱାରା ଆପଣ ବାଛିଥିବା ଏକ ନମ୍ବର ହିଁ ସର୍ବାଧିକ ଦେଯ଼ ଦେଇପାରିବ। ୱାଲେଟ୍କୁ ସମର୍ଥନ କରିବାକୁ ପଡ଼ିବ। pay_invoice.
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
POST https://nymbot.ai/api/v1/nwc-auto-topup/connect ପଢନ୍ତୁ ।
| ପଢନ୍ତୁ | ପଢନ୍ତୁ | ଆବଶ୍ଯ଼କ। | ପଢନ୍ତୁ |
|---|---|---|---|
nwc_url | ପଢନ୍ତୁ | ହଁ | Straight to the Point କାମ ଦେଉନି ସଚେତନତା nostr+walletconnect://ନିମ୍ବଟ୍ ୱାଲେଟ୍କୁ ପଚାରିଲା get_info କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
threshold_sats | ପୂର୍ଣ୍ଣ ସଂଖ୍ଯ଼ା | ହଁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
topup_sats | ପୂର୍ଣ୍ଣ ସଂଖ୍ଯ଼ା | ହଁ | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
tier | ପଢନ୍ତୁ | ପଢନ୍ତୁ | pro (ପୂର୍ବନିର୍ଦ୍ଧାରିତ) କିମ୍ବା standard: ଦେଖିବା ଏବଂ ଟପ୍ ଅପ୍ କରିବା ପାଇଁ ସନ୍ତୁଳନ। |
ପଢନ୍ତୁ
{
"data": {
"connected": true,
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
"last_topup_at": null,
"last_topup_sats": null,
"last_error": null
}
}
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
400 | Straight to the Point କାମ ଦେଉନି ସଚେତନତା (invalid_nwc_url); ୱାଲେଟ୍ ଏହାର ରିଲେ ଉପରେ ଉତ୍ତର ଦେଇନଥିଲା (nwc_unreachable(ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī.nwc_rejectedକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (nwc_missing_permissionକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions? |
501 | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (nwc_unavailableକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
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());
କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
GET https://nymbot.ai/api/v1/nwc-auto-topup ପଢନ୍ତୁ ।
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions connected: false ସେ କହନ୍ତି, “ଏହା ଆମ ଟୋଡ଼ା ମହିଳାମାନଙ୍କ ପାଇଁ ଚିନ୍ତାର ବିଷୟ !
null କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
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());
ସଂଯୋଗ ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି
DELETE https://nymbot.ai/api/v1/nwc-auto-topup/connection ପଢନ୍ତୁ ।
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପଢନ୍ତୁ
{ "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());
Straight to the Point କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! POST /images/generations, POST /images/edits,
POST /videos, POST /audio/speech, POST /audio/transcriptions,
POST /audio/translations ଏବଂ POST /embeddingsଚାଟ୍, ପ୍ରତିକ୍ରିଯ଼ା ଏବଂ ବାର୍ତ୍ତା ସର୍ବଦା ଏକ ଚାବି ଆବଶ୍ଯ଼କ କରେ | ଏକ ଅନୁରୋଧ ଯାହା ଏକ ଚାବି ବହନ କରେ ତାହା ପୂର୍ବପରି ବାଲାନ୍ସକୁ ବିଲ୍ କରାଯାଏ; ଦେଯ଼ ପ୍ରବାହ କେବଳ ସେତେବେଳେ ଆରମ୍ଭ ହୁଏ ଯେତେବେଳେ କୌଣସି ଚାବି ପଠାଯାଏ ନାହିଁ |
ନିମ୍ବଟ୍ ସମାନ ଧାରଣାର ଦୁଇଟି ସଂସ୍କରଣ କୁହନ୍ତି, ଗୋଟିଏ ପୃଷ୍ଠଭାଗରୁଃ ଲାଇଟନିଂ ଲ୍ଯ଼ାବ୍ସ୍ '
ପଢନ୍ତୁ 402 (ଏହାର ପୁରୁଣା ନାମରେ ମଧ୍ଯ଼ ଗ୍ରହଣ କରାଯାଇଛି, LSAT(ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī
ପଢନ୍ତୁ HTTP authentication scheme ପଢନ୍ତୁ lightning ପଦ୍ଧତି ଏବଂ
charge କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions API_L402_SECRET କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. openssl rand -hex 32କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! API_L402_SECRET_PREVIOUS କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
ପଢନ୍ତୁ
Straight to the Point କାମ ଦେଉନି ସଚେତନତା Authorization କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions 402 Payment Required ପଢନ୍ତୁ, “ଏହା ଆମ ଟୋଡ଼ା ମହିଳାମାନଙ୍କ ପାଇଁ ଚିନ୍ତାର ବିଷୟ !” WWW-Authenticate ସମାନ ଇନଭଏସ ପାଇଁ ଆହ୍ୱାନଃ
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 }
}
ଦେଯ଼ ପ୍ରଦାନ request ପାରାମିଟର ହେଉଛି ବେସ୍64ଆର୍. ଏଲ୍. ଜେ. ଏସ୍. ଓ. ଏନ୍.:
{"amount":"237","currency":"sat","methodDetails":{"invoice":"lnbc...","network":"mainnet","paymentHash":"..."}}.
ଏକ ଆହ୍ୱାନ ଶେଷ ବିନ୍ଦୁରେ ଆବଦ୍ଧ, Content-Type (ଏହାର ମିଡିଆ ଟାଇପ୍ ଏବଂ, ମଲ୍ଟିପାର୍ଟ ପାଇଁ, ଏହାର ସୀମା) ଏବଂ ଆପଣ ପଠାଇଥିବା ସଠିକ୍ ବଡି ବାଇଟ୍ର SHA-256 କୁ, ଏବଂ 15 ମିନିଟ୍ ପର୍ଯ୍ଯ଼ନ୍ତ ଚାଲିଥାଏ। ଦେଯ଼ ଦେବା ପରେ, ପଠାନ୍ତୁ ପଢନ୍ତୁ କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
Content-Type ଏବଂ ସମାନ ଜେ. ଏସ୍. ଓ. ଏନ୍. ବାଇଟ୍, କିମ୍ବା ବହୁପକ୍ଷୀଯ଼ ଶେଷ ବିନ୍ଦୁଗୁଡ଼ିକ ପାଇଁ (/images/edits, /audio/transcriptions, /audio/translationsକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ପ୍ରତ୍ଯ଼େକ ଠିକଣା ମିନିଟକୁ 30ଟି ଆହ୍ୱାନ ମାଗିପାରେ (ଗୋଟିଏ ଆଇପିଭି6 ଠିକଣା ଏହାର ସମ୍ପୂର୍ଣ୍ଣ/64 ଭାବରେ ଗଣନା ହୁଏ)। ଯେଉଁ ଅନୁରୋଧଗୁଡ଼ିକର ଠିକଣା ଜଣା ନାହିଁ, ସେମାନେ ମିନିଟକୁ 10ଟି କଠୋର ଅଂଶୀଦାର କରନ୍ତି, ଏବଂ ସମସ୍ତ ଠିକଣାରେ ନିମ୍ବଟ୍ ସମସ୍ଯ଼ା ଉପରେ ଏକ ସାମଗ୍ରିକ କ୍ଯ଼ାପ୍ ଥାଏ; ଏକ ଆହ୍ୱାନ ଦେବା ପୂର୍ବରୁ ପ୍ରତ୍ଯ଼ାଖ୍ଯ଼ାନ ହୋଇଥିବା ଅନୁରୋଧ (ଉଦାହରଣ ସ୍ୱରୂପ ଏକ ବଡି ସହିତ ଯାହା ବୈଧ ଜେଏସ୍ଓଏନ୍ ନୁହେଁ) ଏହା ଆଡକୁ ଗଣନା କରେ ନାହିଁ | ଏହା ବ୍ଯ଼ତୀତ ଉତ୍ତର ହେଉଛି 429 ପଢନ୍ତୁ Retry-Afterକେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! Content-Type ଆଉ କ’ଣ application/json (ସ୍ତ୍ରୀ)
multipart/form-data ଅପଲୋଡ ପାଇଁ) ସହିତ ପ୍ରତ୍ଯ଼ାଖ୍ଯ଼ାନ କରାଯାଇଛି 415 ଏବଂ କେବେ ବି ଏକ ଇନଭଏସ ପାଆନ୍ତି ନାହିଁ।
ଏମବେଡିଂ ଗୁଡ଼ିକର ମୂଲ୍ଯ଼ ଇନ୍ପୁଟରେ ଥିବା ଟୋକେନର ଏକ ଆକଳନରୁ, ଏକ 1.5× ମାର୍ଜିନ ସହିତ, ଯେହେତୁ ପ୍ରକୃତ ଗଣନା କେବଳ ପରେ ଜଣା ପଡ଼େ | ଆପଣ ପ୍ରକୃତରେ ବ୍ଯ଼ବହୃତ ଟୋକେନ୍ ପାଇଁ ଦେଯ଼ ଦିଅନ୍ତି, ଏବଂ ଦେଯ଼ର ଅବ୍ଯ଼ବହୃତ ଅଂଶ ଏକ ଆକଳନ ଭାବରେ ଫେରିଆସେ | ଫେରସ୍ତ ଟୋକେନ୍.
Straight to the Payment କାମ ଦେଉନି ସଚେତନତା
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
| ପଢନ୍ତୁ | ଶୀର୍ଷକ |
|---|---|
| ପଢନ୍ତୁ 402 | Authorization: L402 <macaroon>:<preimage> (LSAT ମଧ୍ଯ଼ କାମ କରେ) |
| ପଢନ୍ତୁ | Authorization: Payment <base64url JSON>, ଯେଉଁଠାରେ ଜେ. ଏସ୍. ଓ. ଏନ୍. ରହିଛି। {"challenge": {every parameter of the challenge, as sent}, "payload": {"preimage": "<hex>"}} |
ଏକ ଦେଯ଼ଯୁକ୍ତ ଅନୁରୋଧ ଠିକ୍ ଏକ ଚାବି ଦ୍ୱାରା କରାଯାଇଥିବା ଉତ୍ତର ପରି ଉତ୍ତର ଦିଏ, କେବଳ ଏହା ବ୍ଯ଼ତୀତ nymbot
Straight to the Point କାମ ଦେଉନି ସଚେତନତା: {"payment": "l402", "tier": "pro", "paid_sats": 237,
"charged_sats": 237}, ଏବଂ ସେଠାରେ ନାହିଁ X-Nymbot-Balance-Sats ଶୀର୍ଷକ। ଦେଯ଼ ଯୋଜନା ସହିତ ପ୍ରଦାନ କରାଯାଇଥିବା ଅନୁରୋଧ ମଧ୍ଯ଼ ଏକ ପାଇଥାଏ Payment-Receipt (base64url JSON with the challenge id, ବକିଙ୍ଗହାମ୍ ପଢନ୍ତୁ) reference, status ଏବଂ
timestamp(ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī
| ପଢନ୍ତୁ | ପଢନ୍ତୁ |
|---|---|
402 payment_already_used | କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! lnget କରେ) କେବଳ ପୁନର୍ବାର ଦେଯ଼ କରେ | |
402 payment_mismatch | କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. Content-Type କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! ଫେରସ୍ତ ଟୋକେନ୍ (refund_token ଏବଂ refund_sats କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st. |
402 payment_expired | ଆହ୍ୱାନର 15 ମିନିଟରୁ ଅଧିକ ସମଯ଼ ବିତିଗଲାଣି। ଏହା ସହିତ ଏକ ନୂଆ ଆହ୍ୱାନ ଆସିଛି। ଯଦି ପ୍ରିମେଜ୍ ଦର୍ଶାଏ ଯେ ଆପଣ ଦେଯ଼ ଦେଇଛନ୍ତି, ତେବେ ଆପଣ ଯାହା ପ୍ରଦାନ କରିଛନ୍ତି ତାହା ଫେରସ୍ତ ଆସେ। ଫେରସ୍ତ ଟୋକେନ୍ (refund_token ଏବଂ refund_sats ଶରୀରରେ), ଥରେ; ତା'ପରେ ପରିଚଯ଼ପତ୍ର ବ୍ଯ଼ବହୃତ ହୁଏ | |
401 invalid_preimage | ପ୍ରିମେଜ୍ ଇନଭଏସ୍ର ପେମେଣ୍ଟ ହ୍ଯ଼ାସ୍କୁ ହ୍ଯ଼ାଶ୍ କରିନଥାଏ। ପେମେଣ୍ଟ ବ୍ଯ଼ବହାର ହୋଇନଥାଏ। |
401 invalid_payment_credential | (ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī. |
429 rate_limit_exceeded | 30 ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ, ପଢନ୍ତୁ 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"));
Straight to the Point କାମ ଦେଉନି ସଚେତନତା mppx କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ଭିଡିଓ...
ପଢନ୍ତୁ POST /videos ପଢନ୍ତୁ 202 ଏକ ଚାବି ପରି, ଅଧିକ a
status_url: GET ଚାକିରିକୁ ଅନୁସରଣ କରିବା ପାଇଁ ଏଥିରେ କୌଣସି ଚାବି ନଥାଏ। ଏହା ସ୍ୱାକ୍ଷରିତ ହୋଇଥାଏ ଏବଂ 24 ଘଣ୍ଟା ପର୍ଯ୍ଯ଼ନ୍ତ କାମ କରିଥାଏ, ଯେପର୍ଯ୍ଯ଼ନ୍ତ କାମଟି ରଖାଯାଇଥାଏ।
{
"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..."
}
}
ପଢନ୍ତୁ refund_token କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions (GET /api/v1/l402/refunds ପଢନ୍ତୁ "status": "pending"କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions
refund_sats କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ଫେରସ୍ତ
ଯଦି ଏକ ଦେଯ଼ଯୁକ୍ତ ଅନୁରୋଧ ବିଫଳ ହୁଏ ଏବଂ ପ୍ରଦାନକାରୀ ଏହି ପ୍ରଯ଼ାସ ପାଇଁ ନିମ୍ବଟକୁ ବିଲ୍ କରନ୍ତି, ତେବେ ଦେଯ଼ ରଖାଯାଏ ଏବଂ ତ୍ରୁଟି ଏହିପରି କୁହେ, charged_sats, ଠିକ୍ ଯେପରି ଏକ କି ଅନୁରୋଧ ପାଇଁ। ଯଦି ଏହା ବିଲ୍ ନକରି ବିଫଳ ହୁଏ, ତେବେ ତ୍ରୁଟି ଏକ ବହନ କରେ ଫେରସ୍ତ ଟୋକେନ୍ ଆପଣ ଯାହା ପ୍ରଦାନ କରିଛନ୍ତି ତାହା ମୂଲ୍ଯ଼ବାନଃ
{
"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"
}
}
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions! nymbot ମୋର କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ କ’ଣ । 413
କେଉଁ ଲୋକମାନେ ଅଦା ଖାଇବା କଥା ନୁହେଁ Don’t Use Ginger If You Have Any of These Conditions!
ଏକ ରିଫଣ୍ଡ ଟୋକେନ୍ ହେଉଛି ଏକ ଯାଦୃଚ୍ଛିକ 256-ବିଟ୍ କୋଡ୍। ନିମ୍ବଟ୍ କେବଳ ଏହାର ହ୍ଯ଼ାଶ୍ ଷ୍ଟୋର୍ କରେ, ଏବଂ ଏହା 30 ଦିନ ପରେ ସମାପ୍ତ ହୁଏ | ଏହା ଏକ ସାଟ୍ ବାଲାନ୍ସ ଧାରଣ କରେ, ଏବଂ ଆପଣ କରିପାରିବେଃ
- ସେ କହନ୍ତି, “ଏହା ଆମ ଟୋଡ଼ା ମହିଳାମାନଙ୍କ ପାଇଁ ଚିନ୍ତାର ବିଷୟ ! ପଢନ୍ତୁ
Authorization: Bearer REFUND-…ଉପରୋକ୍ତ ଯେକୌଣସି ଶେଷ ବିନ୍ଦୁରେ (ଏକ ଓପନଏଆଇ ଏସଡିକେ ଏହାକୁ ଏହାର ଏପିଆଇ କି ଭାବରେ ଗ୍ରହଣ କରେ)। ମୂଲ୍ଯ଼ ଟୋକନ୍ ରୁ ଆସେ ଏବଂ ଯାହା ବାକି ଅଛି ତାହା ଏହା ଉପରେ ରହିଥାଏ (refund_token_satsଭିତରେnymbotବସ୍ତୁ)। ଅନୁରୋଧର ଉତ୍ତର ଠାରୁ କମ୍ ମୂଲ୍ଯ଼ର ଏକ ଟୋକେନ୍402refund_insufficient; ଏକ ବିଲ୍ ହୋଇନଥିବା ବିଫଳତା ସାଟ୍ସକୁ ସମାନ ଟୋକେନ୍ ଉପରେ ରଖିଥାଏ | - ଯାଞ୍ଚ କରନ୍ତୁ।
GET /api/v1/l402/refundsକିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.{"sats": 237, "status": "open", "expires_at": "..."}. - କିନ୍ତୁ ସେ କହିଲେ yemiti huye 1st 1st.
- ଏହାକୁ ଏକ ନିମ୍ କୁ ଘୁଞ୍ଚାନ୍ତୁ। ଏଥିରେ ପେଷ୍ଟ କରନ୍ତୁ ଉପହାରଟିଏ ଉଦ୍ଧାର କରନ୍ତୁ in the Nymbot app, ପଢନ୍ତୁ
POST /api/v1/l402/refunds/redeemପଢନ୍ତୁ A ସ୍ୱାକ୍ଷରିତ ଅନୁରୋଧ ଏବଂ{"refund_token": "REFUND-...", "balance": "standard"}(ସ୍ତ୍ରୀ)"pro"(ସ୍ତ୍ରୀ) ଲକ୍ଷ୍ମୀ ନାମ୍ନୀ ସ୍ତ୍ରୀର ଡାକ ନାମ —A name for calling a woman named Lakshmī.
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"
ପଢନ୍ତୁ
{ "data": { "credited": 23, "tier": "standard", "balance_credits": 123, "remaining_sats": 7 } }