Một chiếc ví cần bao nhiêu TRX để gửi USDT
Một chiếc ví gửi USDT trên TRON có hai con số cần làm cho đúng, và chúng rất dễ bị nhầm với nhau. Một là khoản phí: lần chuyển lấy gì từ tài khoản. Hai là lượng TRX mà tài khoản phải giữ, và mức giới hạn mà giao dịch phải mang theo, để lần chuyển có thể đi qua được. Khi ví có năng lượng, nó chỉ cần TRX cho số byte: không tốn gì cho lần chuyển đầu tiên trong ngày, khoảng 0.345 TRX cho mỗi lần sau đó. Khi không có năng lượng, nó cần 6.5 TRX cho mỗi lần chuyển tới người nhận đang giữ USDT và 13.1 TRX cho người nhận không giữ chút nào, cộng thêm số byte như trên. Dù theo cách nào thì fee_limit của giao dịch cũng phải chạm tới toàn bộ phần đốt. Một chiếc ví được nạp đủ cho khoản phí mà thiếu con số thứ hai sẽ hỏng theo kiểu vẫn tốn TRX.
Nút lấy cái nhỏ hơn trong hai giới hạn
Gửi USDT là một lệnh gọi vào một hợp đồng thông minh, và trước khi lệnh gọi chạy, nút quyết định nó được tiêu bao nhiêu năng lượng. Nó tính hai con số và lấy số nhỏ hơn. Số thứ nhất là những gì tài khoản trả nổi: lượng năng lượng nó đang giữ, cộng với số đơn vị mà TRX của nó mua được ở mức của giao thức là 100 sun mỗi đơn vị. Số thứ hai là những gì giao dịch cho phép: fee_limit của nó, chia cho cùng 100 sun ấy.
Từ đó có hai quy tắc. TRX trên tài khoản phải đủ cho phần năng lượng mà lần chuyển sẽ đốt, vì một số dư thiếu so với phần đốt sẽ chặn lệnh gọi ở dưới mức nó cần. Và fee_limit phải cho phép phần đốt đó, vì một giới hạn thấp chặn lệnh gọi cứng y như vậy, dù đằng sau nó có bao nhiêu TRX. Hụt ở một trong hai thì lệnh gọi dừng giữa chừng với OUT_OF_ENERGY, và số TRX nó đã đốt trên đường vẫn là đã đốt (kết quả đó nghĩa là gì).
Con số thứ hai là cái bẫy với những chiếc ví thuê hoặc stake năng lượng. Nút cũng tính cả năng lượng mà tài khoản đang giữ vào fee_limit, theo cùng cách nó tính TRX mà nó sẽ đốt. Một giao dịch được ký mà không có fee_limit mang theo mức giới hạn bằng không, và giới hạn bằng không không cho lệnh gọi tiêu chút năng lượng nào, dù là được ủy quyền hay bị đốt. Bất kể lời cảnh báo của chính chiếc ví nói gì, nút vẫn làm phép tính này: khi năng lượng của chính tài khoản không đủ cho lệnh gọi, nút sẽ đốt TRX cho phần còn lại, và lần chuyển chỉ đi qua nếu cả số dư lẫn giới hạn đều với tới được chừng đó.
Ba lần thử của một chiếc ví trên mainnet
Có thể quan sát vế fee_limit của quy tắc ngay trên mainnet. Ngày 6 tháng 10 năm 2026, trong lúc duyệt bản ghi công khai của hợp đồng USDT, chúng tôi bắt gặp một người gửi đã thử cùng một lần chuyển ba lần trong chưa đầy bốn mươi phút. Lần chuyển cần 130,285 đơn vị năng lượng, con số dành cho người nhận không giữ USDT, và tài khoản không có năng lượng riêng nào, nên mỗi đơn vị đều phải mua bằng cách đốt TRX. Mỗi hàng là bản ghi riêng của giao dịch đó.
| Lần thử, ngày 6 tháng 10 năm 2026 | fee_limit | Kết quả | Năng lượng đã tiêu | TRX bị lấy |
|---|---|---|---|---|
| Lần đầu | 1.1 TRX | OUT_OF_ENERGY | 11,000 đơn vị | 1.1 TRX |
| Lần hai | không có | OUT_OF_ENERGY | 0 đơn vị | 0.339 TRX |
| Lần ba | 13.046 TRX | SUCCESS | 130,285 đơn vị | 13.3735 TRX |
Lần thử đầu dừng chính xác ở 11,000 đơn vị, tức fee_limit của nó chia cho 100 sun. Tài khoản lẽ ra trả nổi nhiều hơn: nó đã trả toàn bộ phần đốt ở lần thử thứ ba, và bản ghi của nó không cho thấy TRX nào đến trong khoảng giữa. Lần thử thứ hai không mang fee_limit, và biên nhận của nó báo giới hạn bằng không ngay từ lệnh đầu tiên của hợp đồng. Nó không tiêu năng lượng nào, không chuyển USDT nào, mà vẫn phải trả tiền cho số byte của mình. Lần thứ ba được ký với fee_limit cao hơn phần đốt một chút và đã đi qua.
Người gửi đó là ngoại lệ. Trong 12,000 lệnh gọi USDT liên tiếp mà chúng tôi đếm vào cùng buổi chiều, lệnh nào cũng mang một fee_limit.
Nên đặt fee_limit ở mức nào
fee_limit đặt trần cho lượng năng lượng mà lệnh gọi được dùng, dù là đang giữ hay bị đốt, và tự nó không tính phí gì. Một lần chuyển có sẵn năng lượng trên ví thì không đốt chút nào, nên một mức giới hạn rộng rãi là miễn phí trên chiếc ví có đủ năng lượng. Giá trị không bao giờ chặn một lần chuyển nửa chừng là phần đốt lớn hơn, 13.1 TRX. Giới hạn 6.5 TRX chỉ đủ khi người nhận vẫn còn giữ USDT lúc lần chuyển tới nơi, còn người nhận có số dư trống thì tốn con số lớn hơn dù nó từng giữ USDT hay chưa (hai con số đó từ đâu ra). Một giới hạn thấp hơn mức lần chuyển cần sẽ chặn lệnh gọi ngay cả trên một chiếc ví đang giữ đủ mọi năng lượng nó cần, vì nút tính số năng lượng đó vào giới hạn.
Khi chúng tôi phát một lần chuyển đã ký thay bạn, ở mode B, chúng tôi buộc nó theo quy tắc này trước khi bất kỳ năng lượng nào được mua. Một fee_limit không đủ trả cho năng lượng của lần chuyển theo giá hiện tại của mạng lưới sẽ bị từ chối bằng 400 invalid_request với details.reason đặt là fee_limit_too_low. Một ước tính cho đúng lần chuyển đó trả về phần đốt của nó dưới tên burn_cost_trx, và một giới hạn ít nhất bằng chừng đó thì luôn qua được.
Giới hạn quan trọng nhất ở một lần chuyển có chi phí đổi đi sau khi nó được tính giá. Một người nhận từng giữ USDT lúc bạn kiểm tra, và đã rút cạn số dư của mình vào lúc lần chuyển tới nơi, sẽ tốn con số lớn hơn. Nếu ví giữ năng lượng cho con số nhỏ hơn, nút sẽ đốt phần chênh từ TRX. Số dư phải đủ cho phần chênh đó, và fee_limit phải đủ cho toàn bộ con số lớn hơn, vì năng lượng mà ví đã giữ cũng bị tính vào đó. Hụt ở một trong hai, lần chuyển dừng với OUT_OF_ENERGY, và những gì nó đã đốt trên đường vẫn là đã đốt.
Khi ví có năng lượng, băng thông là phần còn lại
Năng lượng trả cho lệnh gọi hợp đồng và không trả cho gì khác. Các byte của giao dịch được đo riêng, dưới dạng băng thông (hai đồng hồ đo đặt cạnh nhau). Mỗi tài khoản được 600 byte băng thông miễn phí mỗi ngày, đủ cho khoảng một lần chuyển USDT. Quá mức đó, mạng lưới đốt TRX cho toàn bộ băng thông mà mỗi giao dịch bị tính, ở mức gấp mười lần mức của năng lượng: một byte tốn bằng mười đơn vị năng lượng.
Một lần chuyển USDT bị tính vài trăm byte băng thông. Lần chuyển chúng tôi đã gửi và đo ngày 2 tháng 9 năm 2026 bị tính 345, và ba lần thử ở trên bị tính từ 339 đến 345. Vậy một khi hạn mức miễn phí đã hết vào lần chuyển đầu tiên trong ngày, mỗi lần chuyển tiếp theo trả cho số byte của nó bằng TRX, dù năng lượng của nó được thuê, được stake hay bị đốt. Một chiếc ví hoàn toàn không giữ TRX vẫn có thể gửi lần chuyển đầu tiên trong ngày trên năng lượng được ủy quyền, với hạn mức miễn phí trả cho số byte; lần thứ hai cần có TRX trên tài khoản (gửi mà không giữ TRX).
Các khoản phí ngoài lần chuyển
Một chiếc ví gửi phải tồn tại trên chuỗi trước khi năng lượng có thể được ủy quyền tới nó (kích hoạt là gì), và gửi TRX tới một địa chỉ mà mạng lưới chưa từng thấy là điều tạo ra tài khoản của nó. Hai tham số của chuỗi định giá việc tạo tài khoản. Chúng tôi chưa kích hoạt một địa chỉ nào để xem một lần chuyển như vậy chỉ trả riêng tham số đầu hay trả cả hai, nên bảng liệt kê cả hai, và tổng của chúng là số tiền cần giữ cho việc đó. Hai tham số nữa định giá một memo trên giao dịch và một giao dịch được ký theo quyền đa chữ ký. Khác với việc kích hoạt, cả hai đều bị tính trên mọi giao dịch mang memo hay quyền đa chữ ký, nên một ví nóng ký theo cách đó sẽ cộng tham số này vào mọi lần chuyển được tính trong bảng bên dưới. Chúng tôi chưa gửi cái nào trong hai loại ấy, và các hàng đó đưa ra tham số chứ không có gì được đo.
| Tham số chuỗi, đọc ngày 3 tháng 9 năm 2026 | Nó định giá gì | Giá trị |
|---|---|---|
getEnergyFee | Một đơn vị năng lượng, bị đốt | 100 sun |
getFreeNetLimit | Băng thông miễn phí mà một tài khoản có mỗi ngày | 600 byte |
getTransactionFee | Một byte băng thông vượt hạn mức miễn phí | 1,000 sun |
getCreateNewAccountFeeInSystemContract | Tạo một tài khoản mới trong một hợp đồng hệ thống | 1 TRX |
getCreateAccountFee | Tạo một tài khoản | 0.1 TRX |
getMemoFee | Một memo trên giao dịch | 1 TRX |
getMultiSignFee | Một giao dịch đa chữ ký | 1 TRX |
Khoản đệm cho một ngày chuyển
Gộp lại, lượng TRX mà một chiếc ví gửi tiêu hết trong một ngày phụ thuộc vào năng lượng của nó đến từ đâu và, khi nó đốt, vào loại người nhận mà nó trả. Bảng bên dưới giả định mỗi lần chuyển bị tính 345 byte băng thông, hạn mức miễn phí được dùng hết ở lần chuyển đầu tiên trong ngày, cùng các tham số ở trên. Một chiếc ví đốt sẽ trả 6.5 TRX hoặc 13.1 TRX năng lượng cho mỗi lần chuyển, và trả số byte của nó từ lần chuyển thứ hai trở đi. Một chiếc ví có sẵn năng lượng chỉ trả số byte.
| Số lần chuyển mỗi ngày | Ví có năng lượng, thuê hoặc stake | Không có năng lượng, người nhận giữ USDT | Không có năng lượng, người nhận không có USDT |
|---|---|---|---|
| 1 lần chuyển | 0 TRX | 6.5 TRX | 13.1 TRX |
| 10 lần chuyển | 3.105 TRX | 68.105 TRX | 134.105 TRX |
| 100 lần chuyển | 34.155 TRX | 684.155 TRX | 1344.155 TRX |
| Cộng thêm, cho một người nhận rút cạn USDT sau khi đã tính giá | 6.6 TRX | 6.6 TRX | 0 TRX |
Năng lượng thuê được trả từ số dư của bạn ở chỗ chúng tôi, và giá của nó cho mỗi lần chuyển nằm ở trang bảng giá. Năng lượng stake tốn lượng TRX bị khóa để tạo ra nó, nằm ngoài bảng này (stake so với thuê). Con số theo ngày là lượng mà một lần nạp mỗi ngày phải để lại trên ví. Trước bất kỳ lần chuyển đơn lẻ nào, mức sàn nhỏ hơn: phần đốt của lần chuyển đó, nếu nó đốt, và số byte của nó.
Hàng cuối là phần dư an toàn cho năng lượng mua ở con số nhỏ hơn. Auto-refill nạp một chiếc ví trở lại khoảng 131,000 đơn vị sau các lần chuyển của nó, đủ cho cả hai loại người nhận, nên trên một chiếc ví như vậy, một người nhận hóa ra cần con số lớn hơn vẫn được phủ bằng năng lượng và phần dư rơi về không (Auto-refill hoạt động ra sao). Dù nguồn năng lượng là gì, fee_limit vẫn phải phủ toàn bộ năng lượng của lần chuyển, tức 13.1 TRX cho một người nhận có thể không giữ USDT lúc lần chuyển tới nơi.
Chúng tôi không đo hạn mức miễn phí hồi lại nhanh đến đâu trong một ngày; bảng giả định rằng chỉ có lần chuyển đầu tiên trong ngày dùng nó, nên với một chiếc ví rải các lần chuyển ra thì các con số băng thông là một cận trên.
Hãy định mức giới hạn cho từng lần chuyển từ phần đốt mà nút sẽ buộc nó theo: POST /v1/estimate và burn_cost_trx của nó, trong tài liệu tham khảo API →