Skip to content
Translated page. The English version is the source of truth.

POST /apiv2/bandwidth

เช่า TRON Bandwidth และมอบสิทธิ์ (delegate) ไปยังที่อยู่ผู้รับตามระยะเวลาที่กำหนด (5 นาที หรือ 1 ชั่วโมง)

⚠️ ระดับการเข้าถึง (Access tiers)

  • บัญชีที่ได้รับการรับรอง (Accredited accounts) สามารถเช่า จำนวนเท่าใดก็ได้ (สูงสุด 5000) ภายในขนาดของพูลและขีดจำกัดสูงสุด โดยสามารถสร้าง หลายคำสั่งซื้อพร้อมกันได้ การรับรองจะได้รับการอนุมัติโดย ฝ่ายสนับสนุนของ Netts
  • หากไม่มีการรับรอง คุณสามารถเช่าได้ ครั้งละ 400 หน่วย — คำสั่งซื้อถัดไปจะทำได้ก็ต่อเมื่อ การเช่าก่อนหน้าสิ้นสุดลงแล้วเท่านั้น คำขอสำหรับจำนวนอื่นที่ไม่ใช่ 400 หรือคำสั่งซื้อที่สองในขณะที่คำสั่งซื้อแรกยังใช้งานอยู่ จะถูกปฏิเสธ

URL ของ Endpoint

POST https://netts.io/apiv2/bandwidth

ส่วนหัวของคำขอ (Request Headers)

ส่วนหัว (Header)จำเป็น (Required)คำอธิบาย (Description)
Content-Typeใช่application/json
X-API-KEYใช่API key ของคุณจากแดชบอร์ด Netts
X-Real-IPใช่ที่อยู่ IP จากไวท์ลิสต์ของคุณ
X-Idempotency-Keyไม่คีย์ที่ไคลเอนต์สร้างขึ้นเอง (base64) เพื่อลองส่งคำขอใหม่อย่างปลอดภัยโดยไม่ทำให้เกิดคำสั่งซื้อซ้ำ หากเว้นว่างไว้ เซิร์ฟเวอร์จะสร้างให้อัตโนมัติ

เนื้อหาของคำขอ (Request Body)

json
{
    "amount": 1500,
    "receiveAddress": "TXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "period": "5m"
}

พารามิเตอร์ (Parameters)

พารามิเตอร์ (Parameter)ประเภท (Type)จำเป็น (Required)คำอธิบาย (Description)
amountจำนวนเต็ม (integer)ใช่หน่วยของ Bandwidth ที่ต้องการเช่า (ขั้นต่ำ: 400, สูงสุด: 5000)
receiveAddressข้อความ (string)ใช่ที่อยู่ TRON ที่จะได้รับ Bandwidth (T…, ความยาว 34 ตัวอักษร, base58)
periodข้อความ (string)ใช่ระยะเวลาการเช่า: "5m" (5 นาที) หรือ "1h" (1 ชั่วโมง)
trx_sendบูลีน (boolean)ไม่การันตีการทำธุรกรรม: หากไม่มี Bandwidth พร้อมใช้งาน จะส่ง TRX ไปยังที่อยู่ดังกล่าวแทนเพื่อให้ธุรกรรมยังคงดำเนินต่อไปได้ ทำงานเฉพาะเมื่อ amount = 400 เท่านั้น (จะถูกละเว้นในกรณีอื่น) ค่าเริ่มต้นคือ false
checkบูลีน (boolean)ไม่หากเป็น true และผู้รับมี Bandwidth มากกว่า 400 อยู่แล้ว คำสั่งซื้อจะ ไม่ ถูก delegate และจะ ไม่มีการเรียกเก็บเงิน (สถานะ enough) ค่าเริ่มต้นคือ false
testบูลีน (boolean)ไม่การทดลองรัน (Dry run) หากเป็น true โฟลว์ของคำสั่งซื้อทั้งหมดจะถูกจำลองขึ้น — การตอบกลับจะแจ้ง ผลลัพธ์ ที่จะเกิดขึ้นและ ราคา ที่จะถูกเรียกเก็บ — โดยไม่มีการดำเนินการใดๆ บนเชนและไม่มีการเรียกเก็บเงิน ค่าเริ่มต้นคือ false

ตัวอย่างคำขอ (Example Requests)

ตัวอย่างด้านล่างนี้ยังรวมถึงการ สร้างและส่ง X-Idempotency-Key เพื่อป้องกันไม่ให้การส่งซ้ำโดยไม่ได้ตั้งใจสร้างคำสั่งซื้อที่สอง ดูรายละเอียดกฎทั้งหมดได้ที่ ความเป็นนิจ (Idempotency)

cURL

bash
API_KEY="your_api_key"
ADDR="TXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
AMOUNT=1500
PERIOD="5m"
NONCE=$(( $(date +%s) / 2 ))   # stable for retries within a 2s window; or your own order UUID

# X-Idempotency-Key = base64( HMAC-SHA256( API_KEY, "addr:amount:period:nonce" ) )
IDEMP=$(printf '%s' "${ADDR}:${AMOUNT}:${PERIOD}:${NONCE}" \
  | openssl dgst -sha256 -hmac "$API_KEY" -binary | base64)

curl -X POST https://netts.io/apiv2/bandwidth \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $API_KEY" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -H "X-Idempotency-Key: $IDEMP" \
  -d "{\"amount\": $AMOUNT, \"receiveAddress\": \"$ADDR\", \"period\": \"$PERIOD\"}"

Python

python
import time, hmac, hashlib, base64, requests

API_KEY = "your_api_key"
url = "https://netts.io/apiv2/bandwidth"
payload = {
    "amount": 1500,
    "receiveAddress": "TXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "period": "5m",
}

# X-Idempotency-Key = base64( HMAC-SHA256( API_KEY, "addr:amount:period:nonce" ) )
# Generate ONCE per order and resend the same value on every retry.
nonce = str(int(time.time() // 2))   # 2s bucket; or your own order UUID
message = f"{payload['receiveAddress']}:{payload['amount']}:{payload['period']}:{nonce}"
idem_key = base64.b64encode(
    hmac.new(API_KEY.encode(), message.encode(), hashlib.sha256).digest()
).decode()

headers = {
    "Content-Type": "application/json",
    "X-API-KEY": API_KEY,
    "X-Real-IP": "your_whitelisted_ip",
    "X-Idempotency-Key": idem_key,
}

response = requests.post(url, headers=headers, json=payload)
data = response.json()
detail = data.get("detail", {})

if response.status_code == 200 and detail.get("status") == "completed":
    d = detail["data"]
    print(f"Order ID: {d['orderId']}")
    print(f"Hashes:   {d['hash']}")          # array of delegation tx hashes
    print(f"Bandwidth: {d['bandwidth']} for {d['period']}")
    print(f"Cost:     {d['paidTRX']} TRX")
else:
    print(f"Code: {detail.get('code')} | {detail.get('msg', detail)}")

มีตัวอย่างโค้ดไคลเอนต์แบบเต็ม (Python + cURL) ให้บริการในแพ็กเกจของบริการ (handler_bandwidth/doc/client_example/)

การตอบกลับ (Response)

สำเร็จ — Bandwidth ได้รับการ delegate แล้ว (200 OK)

json
{
    "detail": {
        "code": 10000,
        "status": "completed",
        "msg": "Successful",
        "data": {
            "orderId": "B5M<key14>",
            "paidTRX": "<amount charged in TRX>",
            "fulfilledBy": "bandwidth",
            "hash": ["a1b2c3...", "d4e5f6..."],
            "bandwidth": 1500,
            "period": "5m"
        }
    }
}

สำเร็จ — ส่ง TRX แทน Bandwidth (200 OK, เฉพาะเมื่อ amount=400 + trx_send=true)

เมื่อพูลไม่มี Bandwidth และเปิดใช้งาน trx_send ระบบจะส่ง TRX ไปยังที่อยู่ดังกล่าวเพื่อให้ธุรกรรมยังสามารถผ่านไปได้ จะมีการเรียกเก็บค่าบริการแบบคงที่ในกรณีนี้ โดยไม่คำนึงถึงระยะเวลาที่ร้องขอ

json
{
    "detail": {
        "code": 10000,
        "status": "completed",
        "msg": "Successful (sent TRX, bandwidth unavailable)",
        "data": {
            "orderId": "B5M<key14>",
            "paidTRX": "<amount charged in TRX>",
            "fulfilledBy": "trx",
            "trxSendHash": ["<txid>"],
            "hash": [],
            "bandwidth": 400,
            "period": "5m"
        }
    }
}

มีเพียงพออยู่แล้ว — ไม่มีการเรียกเก็บเงิน (200 OK, เฉพาะเมื่อใช้ check=true)

json
{
    "detail": {
        "code": 10002,
        "status": "enough",
        "msg": "enough band for 1 transfer",
        "data": { "orderId": "B5M<key14>", "paidTRX": 0, "bandwidth": 400, "period": "5m" }
    }
}

กำลังดำเนินการ — ผู้ให้บริการภายนอก (202 Accepted)

จะส่งกลับมาเมื่อคำสั่งซื้อถูกส่งต่อไปยังผู้ให้บริการภายนอกแบบอะซิงโครนัส ให้สอบถามสถานะไปยัง status endpoint (ด้านล่าง) ซ้ำๆ โดยใช้ orderId จนกว่าคำสั่งซื้อจะเสร็จสมบูรณ์

json
{
    "detail": {
        "code": 10001,
        "status": "processing",
        "msg": "Order accepted, processed by an external provider. Poll the status endpoint.",
        "data": { "orderId": "B5M<key14>", "bandwidth": 1500, "period": "5m" }
    }
}

การทดสอบรัน (200 OK, เฉพาะเมื่อใช้ test=true)

โฟลว์ของคำสั่งซื้อทั้งหมดจะถูกจำลองขึ้น testAction จะบอกคุณว่ามีสิ่งใดที่ จะ เกิดขึ้น และ wouldCostTRX จะบอกราคาที่ จะ ถูกเรียกเก็บ จะไม่มีการ delegate ใดๆ ไม่มีการส่ง TRX และ ไม่มีการเรียกเก็บเงินใดๆ (paidTRX: 0)

json
{
    "detail": {
        "code": 10003,
        "status": "test",
        "msg": "Test run — no on-chain action, no charge",
        "data": {
            "orderId": "B5M<...>",
            "testAction": "would_delegate",
            "wouldCostTRX": "<amount that would be charged in TRX>",
            "paidTRX": 0,
            "bandwidth": 400,
            "period": "5m",
            "receiverFreeBandwidth": 600
        }
    }
}

ค่าของ testAction: would_delegate (Bandwidth จะถูก delegate), would_trx_send (ไม่มี Bandwidth, amount=400 + trx_send → TRX จะถูกส่ง), enough (ผู้รับมี Bandwidth เพียงพออยู่แล้ว เมื่อใช้ check=true), หรือ would_error:<reason> (เช่น no_bandwidth, not_whitelisted)

ฟิลด์การตอบกลับ (Response Fields)

ฟิลด์ (Field)ประเภท (Type)คำอธิบาย (Description)
detail.codeจำนวนเต็ม (integer)10000 ทำการ delegate/ส่ง TRX สำเร็จ, 10002 มีเพียงพอแล้ว, 10001 กำลังประมวลผล
detail.statusข้อความ (string)completed / enough / processing / failed
detail.data.orderIdข้อความ (string)รหัสคำสั่งซื้อ รูปแบบ B5M… (5 นาที) / B1H… (1 ชั่วโมง) — ใช้สำหรับ status endpoint
detail.data.paidTRXตัวเลข (number)จำนวนเงินที่ถูกเรียกเก็บในหน่วย TRX (0 เมื่อสถานะเป็น enough)
detail.data.fulfilledByข้อความ (string)bandwidth (ทำการ delegate แล้ว) / trx (ส่ง TRX แล้ว)
detail.data.hashอาร์เรย์ (array)แฮชของธุรกรรมการ delegate (สูงสุด 10 รายการ) จะเป็นอาร์เรย์เสมอ (ว่างเปล่าสำหรับกรณี TRX)
detail.data.trxSendHashอาร์เรย์ (array)แฮชของธุรกรรมการโอน TRX จะแสดงเฉพาะเมื่อ fulfilledBy = trx
detail.data.bandwidthจำนวนเต็ม (integer)หน่วย Bandwidth ที่ได้รับการ delegate
detail.data.periodข้อความ (string)ระยะเวลาการเช่า (5m / 1h)

Endpoint ตรวจสอบสถานะ (Status Endpoint)

GET https://netts.io/apiv2/bandwidth/status/{orderId}

ส่วนหัว: X-API-KEY + X-Real-IP (คำสั่งซื้อต้องเป็นของผู้ใช้ที่ได้รับการยืนยันตัวตนแล้ว)

สถานะคำสั่งซื้อHTTPcodestatus
สำเร็จ20010000completed (พร้อม hash / trxSendHash)
กำลังดำเนินการ20010001processing
มีเพียงพออยู่แล้ว20010002enough
ล้มเหลว2005003failed
ไม่พบ / ไม่ใช่ของคุณ404-1

Endpoint การเรียกคืน (Reclaim Endpoint)

เรียกคืน (undelegate) Bandwidth จากคำสั่งซื้อที่ ได้รับการ delegate แล้ว ก่อนที่ระยะเวลาจะหมดอายุด้วยตนเอง Bandwidth จะถูก undelegate โดยอัตโนมัติและส่งคืนแฮชของธุรกรรมกลับมา

POST https://netts.io/apiv2/bandwidth/reclaim/{orderId}

ส่วนหัว: X-API-KEY + X-Real-IP (คำสั่งซื้อต้องเป็นของผู้ใช้ที่ได้รับการยืนยันตัวตนแล้ว)

สถานะคำสั่งซื้อHTTPcodestatusผลลัพธ์
ได้รับการ delegate แล้ว → ถูกเรียกคืนทันที20010004reclaimedreclaimHash (แฮชของธุรกรรม undelegate)
ถูกเรียกคืนไปแล้ว20010004reclaimedreclaimHash + ข้อความ "already reclaimed"
ไม่ได้อยู่ในสถานะที่ได้รับการ delegate (ไม่มีรายการให้เรียกคืน)4005005failed
การเรียกคืนยังไม่เสร็จสมบูรณ์5035003failedให้ลองใหม่อีกครั้งในไม่ช้า
ไม่พบ / ไม่ใช่ของคุณ404-1
bash
curl -X POST https://netts.io/apiv2/bandwidth/reclaim/B5M<...> \
  -H "X-API-KEY: your_api_key" -H "X-Real-IP: your_whitelisted_ip"
json
{
    "detail": {
        "code": 10004,
        "status": "reclaimed",
        "msg": "Bandwidth reclaimed",
        "data": { "orderId": "B5M<...>", "reclaimHash": ["<txid>"] }
    }
}
python
import requests

order_id = "B5M..."   # the orderId from your rental response
url = f"https://netts.io/apiv2/bandwidth/reclaim/{order_id}"
headers = {"X-API-KEY": "your_api_key", "X-Real-IP": "your_whitelisted_ip"}

resp = requests.post(url, headers=headers)
detail = resp.json()["detail"]

if resp.status_code == 200 and detail["status"] == "reclaimed":
    print(f"Reclaimed: {detail['data']['reclaimHash']} ({detail['msg']})")
else:
    print(f"Code {detail.get('code')}: {detail.get('msg', detail)}")

ค่าธรรมเนียมการเช่าจะ ไม่ ได้รับการคืนเงินเมื่อทำการเรียกคืนก่อนกำหนดโดยสมัครใจ — การเรียกคืนเป็นการส่งคืน Bandwidth ที่ถูก delegate กลับเข้าสู่พูลก่อนหมดระยะเวลาเท่านั้น

การตอบกลับข้อผิดพลาด (Error Responses)

ข้อผิดพลาดในการยืนยันตัวตน (401)

json
{ "detail": { "code": -1, "msg": "Invalid API key or IP not in whitelist" } }

ยอดคงเหลือไม่เพียงพอ (403)

json
{ "detail": { "code": 1004, "status": "failed", "msg": "Insufficient funds" } }

ข้อผิดพลาดในการตรวจสอบข้อมูล (400)

json
{ "detail": { "code": 5004, "status": "failed", "msg": "Bandwidth amount out of range (400..5000)" } }

การ Delegate ล้มเหลว / บริการไม่พร้อมใช้งาน (503)

json
{ "detail": { "code": 5003, "status": "failed", "msg": "Bandwidth delegation failed" } }

ตารางอ้างอิงรหัสข้อผิดพลาด (Error Code Reference)

รหัส (Code)คำอธิบาย (Description)สถานะ HTTP (HTTP Status)
10000สำเร็จ (delegate แล้ว หรือส่ง TRX แล้ว)200
10000สำเร็จ (การตอบกลับจากแคช)208
10001รับคำขอแล้ว กำลังประมวลผลโดยผู้ให้บริการภายนอก202
10002ผู้รับมี Bandwidth เพียงพออยู่แล้ว (ไม่มีการเรียกเก็บเงิน)200
10003การทดสอบรัน — ดูตัวอย่างผลลัพธ์ + ราคา โดยไม่มีการเรียกเก็บเงิน (test=true)200
10004เรียกคืน Bandwidth สำเร็จ (undelegate โดยสมัครใจ) — ส่งคืน reclaimHash200
-คำขอที่ซ้ำกันกำลังอยู่ระหว่างการประมวลผล409
-1API key ไม่ถูกต้อง / IP ไม่อยู่ในไวท์ลิสต์401
1004ยอดคงเหลือไม่เพียงพอ403
1005ไม่มีที่อยู่ผู้ชำระเงินสำหรับผู้ใช้400
5004จำนวน/ระยะเวลาไม่ถูกต้อง (การตรวจสอบล้มเหลว)400
5005ไม่มีรายการให้เรียกคืน (คำสั่งซื้อไม่ได้อยู่ในสถานะที่ได้รับการ delegate)400
5007หากไม่มีการรับรอง — เช่าได้ครั้งละหนึ่งรายการเท่านั้น คำสั่งซื้อก่อนหน้ายังคงทำงานอยู่ (รอจนกว่าจะสิ้นสุด)503
5008หากไม่มีการรับรอง — อนุญาตเฉพาะคำสั่งซื้อขนาด 400 หน่วยเท่านั้น จำเป็นต้องได้รับการรับรองสำหรับจำนวนที่มากขึ้น503
5003การ delegate Bandwidth ล้มเหลว / ไม่พร้อมใช้งาน503
5000ข้อผิดพลาดภายในเซิร์ฟเวอร์500

การจำกัดอัตราการส่งคำขอ (Rate Limits)

ระยะเวลา (Period)ขีดจำกัด (Limit)คำอธิบาย (Description)
1 วินาที50 คำขอสูงสุด 50 คำขอต่อวินาทีต่อหนึ่ง IP

เกินขีดจำกัดอัตราการส่งคำขอ (429)

json
{ "message": "API rate limit exceeded" }

ความเป็นนิจ (Idempotency)

ส่งส่วนหัวเพิ่มเติม X-Idempotency-Key เพื่อป้องกันไม่ให้การส่งซ้ำโดยไม่ได้ตั้งใจสร้างคำสั่งซื้อที่สองขึ้นมา — การตอบกลับเดิมจะถูกส่งกลับมาพร้อม HTTP 208 หากคุณไม่ได้ส่งส่วนหัวนี้ เซิร์ฟเวอร์จะสร้างคีย์ขึ้นมาให้โดยอัตโนมัติจากพารามิเตอร์ของคำขอของคุณภายในช่วงเวลาสั้นๆ

วิธีการสร้างคีย์

คีย์จะมีรูปแบบเป็น base64( HMAC-SHA256( secret, message ) ) — สตริง base64 ความยาว 44 ตัวอักษร โดยที่:

  • secret = API key ของคุณ (X-API-KEY);
  • message = ฟิลด์ต่างๆ ที่นำมาเชื่อมกันด้วยเครื่องหมาย :receiveAddress:amount:period:nonce.

nonce คือค่าใดๆ ที่ คงที่สำหรับการพยายามส่งซ้ำของคำสั่งซื้อเชิงตรรกะเดียวกัน แต่แตกต่างกันสำหรับคำสั่งซื้อคนละรายการ — เช่น UUID ที่คุณเก็บไว้สำหรับคำสั่งซื้อนั้น หรือกลุ่มช่วงเวลาแบบคร่าวๆ (timestamp bucket) ให้สร้างคีย์นี้เพียงครั้งเดียวต่อหนึ่งคำสั่งซื้อ และส่งค่าเดิมซ้ำทุกครั้งที่มีการลองส่งใหม่

python
import hmac, hashlib, base64, time

def make_idempotency_key(api_key, receive_address, amount, period, nonce=None):
    if nonce is None:
        nonce = str(int(time.time() // 2))   # 2-second bucket; or your own order UUID
    message = f"{receive_address}:{amount}:{period}:{nonce}"
    digest = hmac.new(api_key.encode(), message.encode(), hashlib.sha256).digest()
    return base64.b64encode(digest).decode()  # 44-char base64
bash
# then send it as a header:
-H "X-Idempotency-Key: <base64_key>"

การรวม period ไว้ใน message เป็นสิ่งสำคัญ: การเช่าสำหรับ ที่อยู่เดียวกันเป็นเวลา 5 นาที และ 1 ชั่วโมง ถือเป็นคำสั่งซื้อที่ต่างกัน และต้องสร้างคีย์ที่ต่างกัน

การตรวจสอบความถูกต้อง X-Idempotency-Key ที่ส่งมาจะต้องเป็นสตริง base64 ที่มีความยาว 16–64 ตัวอักษร (ชุดอักขระ A–Z a–z 0–9 + / = _ -) คีย์ที่มีรูปแบบไม่ถูกต้องหรือยาวเกินไปจะถูกปฏิเสธด้วย HTTP 400 (code 5004)

รหัสสถานะ (Status Code)ความหมาย
200ประมวลผลสำเร็จ (คำขอแรก)
208ประมวลผลสำเร็จแล้วก่อนหน้านี้ — ส่งคืนการตอบกลับที่แคชไว้ (ไม่มีการเรียกเก็บเงินซ้ำ)
409คำขอเดียวกันกำลังอยู่ระหว่างการประมวลผล — โปรดรอและอย่าเพิ่งลองส่งซ้ำ

การลองใหม่อีกครั้งหลังจากล้มเหลว ระบบจะแคชเฉพาะผลลัพธ์ที่ สำเร็จ เท่านั้น (completed / enough) หากความพยายามก่อนหน้า ล้มเหลวหรือหมดเวลา (ไม่มีการเรียกเก็บเงิน) คุณสามารถ ลองใหม่ได้อย่างปลอดภัยโดยใช้ X-Idempotency-Key เดิม — ระบบจะพยายามสร้างคำสั่งซื้อใหม่อีกครั้งแทนที่จะส่งคืนข้อผิดพลาดเดิม ในขณะที่ความพยายามยังคงดำเนินการอยู่ คุณจะได้รับ 409 ให้รอสักครู่แล้วลองใหม่

หมายเหตุ

  • ระดับการเข้าถึง: บัญชีที่ได้รับการรับรองสามารถเช่าจำนวนเท่าใดก็ได้ภายในขีดจำกัดของพูล/ขีดจำกัดสูงสุด พร้อมคำสั่งซื้อที่ทำงานพร้อมกันได้; หากไม่มีการรับรอง — เช่าได้ครั้งละ 400 หน่วย (คำสั่งซื้อถัดไปทำได้หลังจากที่การเช่าก่อนหน้าสิ้นสุดลงแล้วเท่านั้น) ติดต่อฝ่ายสนับสนุนของ Netts สำหรับการรับรอง
  • ขั้นต่ำ: 400 หน่วย สูงสุด: 5000 หน่วยต่อคำสั่งซื้อ (การกำหนดค่าปัจจุบัน)
  • ระยะเวลา: 5m (300 วินาที) และ 1h (3600 วินาที) Bandwidth จะถูกเรียกคืนโดยอัตโนมัติเมื่อหมดระยะเวลา
  • ไม่มีการเพิ่มส่วนเผื่อ (No buffer): ได้รับการ delegate ตามจำนวนที่ร้องขออย่างแม่นยำ
  • hash เป็นอาร์เรย์: คำสั่งซื้อเดียวอาจสร้างแฮชการ delegate ได้สูงสุด 10 รายการ — ทั้งหมดจะถูกส่งกลับมา
  • การกำหนดราคา: เรียกเก็บเงินเป็น TRX โดยขึ้นอยู่กับจำนวนและระยะเวลาที่ร้องขอ อัตราอาจแตกต่างกันไปตามช่วงเวลาของวัน ติดต่อฝ่ายสนับสนุนสำหรับราคาปัจจุบัน
  • ค่าชดเชยคำสั่งซื้อขนาดเล็ก (delegation): สำหรับคำสั่งซื้อที่ ต่ำกว่า 1000 หน่วย จะมีการเพิ่มค่าบริการคงที่ 0.372 TRX เข้าไปในราคา เพื่อเป็นค่าชดเชยสำหรับการทำ delegation และ reclaim บนเชน คำสั่งซื้อตั้งแต่ 1000 หน่วยขึ้นไปจะไม่มีการเพิ่มค่าบริการนี้
  • ค่าชดเชยการส่ง TRX: เมื่อคำสั่งซื้อได้รับการดำเนินการโดยการส่ง TRX (fulfilledBy = trx) จะมีการเพิ่มค่าบริการคงที่ 0.268 TRX แทน (ค่าชดเชยสำหรับการโอน TRX บนเชน)
  • trx_send: ใช้ได้เฉพาะกับ amount = 400 เท่านั้น หากไม่มี Bandwidth พร้อมใช้งาน จะส่ง TRX ไปยังที่อยู่นั้นแทนเพื่อให้ธุรกรรมยังคงดำเนินต่อไปได้
  • check: ข้ามการ delegate (และการเรียกเก็บเงิน) เมื่อผู้รับมี Bandwidth มากกว่า 400 อยู่แล้ว
  • รูปแบบของรหัสคำสั่งซื้อ: B5M… (5 นาที) / B1H… (1 ชั่วโมง)
  • เวลาในการตอบกลับ (Response timeout): สูงสุดประมาณ ~12 วินาทีในขณะที่รอการ delegate โดยทั่วไปจะใช้เวลา 1–2 วินาที