Appearance
Activator — aktivasi alamat
Aktifkan alamat TRON yang belum pernah digunakan di on-chain. Alamat yang benar-benar baru tidak memiliki catatan akun, sehingga tidak dapat menerima delegasi energy atau bandwidth hingga diaktifkan. Endpoint ini membuatkan akun untuk Anda dan mengembalikan hash transaksi aktivasi.
Aktivasi adalah operasi satu kali per alamat. Jika alamat sudah aktif, endpoint akan memberi tahu Anda dan tidak mengenakan biaya apa pun.
URL Dasar Endpoint
https://netts.io/apiv2/activatorHeader Permintaan
| Header | Diperlukan | Deskripsi |
|---|---|---|
| Content-Type | Ya | application/json |
| X-API-KEY | Ya | Kunci API Anda dari dasbor Netts |
user_id Anda diturunkan dari kunci API — Anda tidak perlu mengirimkannya.
Aktivasi — POST /apiv2/activator
Isi Permintaan
json
{ "targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" }| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
targetAddress | string | Ya | Alamat TRON yang akan diaktifkan. Harus cocok dengan ^T[A-Za-z0-9]{33}$ (34 karakter, dimulai dengan T). |
Respons — berhasil diaktifkan (200, kode 10000)
json
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX deducted",
"data": {
"orderId": "A123456",
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"activation_cost": 1.1,
"user_balance_before": 500.00,
"user_balance_after": 498.90,
"hash": "0000000000000000000000000000000000000000000000000000000000000000"
}
}
}| Bidang | Tipe | Deskripsi |
|---|---|---|
orderId | string | Nomor pesanan aktivasi, selalu A + angka. Gunakan untuk rekonsiliasi. |
targetAddress | string | Alamat yang diaktifkan |
activation_cost | float | Jumlah yang dipotong dari saldo Anda, dalam TRX |
user_balance_before | float | Saldo sebelum pemotongan |
user_balance_after | float | Saldo setelah pemotongan |
hash | string | Hash transaksi aktivasi. Verifikasi di explorer TRON mana pun. |
Respons — sudah aktif (200, kode 2001)
Dikembalikan ketika alamat sudah ada di on-chain. Tidak ada biaya yang dikenakan.
json
{
"detail": {
"code": 2001,
"msg": "Address is already activated",
"data": {
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"status": "already_activated",
"user_balance": 500.00,
"activation_cost": 0,
"activation_required": false
}
}
}Periksa code sebelum berasumsi bahwa biaya telah dipotong: 10000 berarti Anda membayar, 2001 berarti Anda tidak membayar.
Contoh
bash
curl -X POST https://netts.io/apiv2/activator \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-d '{"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"}'Harga
| Item | Jumlah |
|---|---|
| Aktivasi | 1.1 TRX |
| Alamat sudah aktif | 0 |
Jumlahnya tetap dan tidak bergantung pada alamat atau kondisi jaringan. Biaya dipotong dari saldo Netts Anda pada saat aktivasi berhasil — tidak pernah sebelumnya. Aktivasi yang gagal tidak dikenakan biaya apa pun.
Saldo Anda harus mencukupi biaya tersebut, jika tidak permintaan akan ditolak dengan 403 (1004) dan tidak ada pesanan yang dibuat.
Kapan Anda memerlukan ini
- Sebelum menyewa energy atau bandwidth untuk alamat baru. Delegasi ke akun yang belum ada akan gagal. Aktifkan terlebih dahulu, kemudian lakukan pemesanan.
- Sebelum transfer masuk pertama ke alamat yang Anda buat sendiri.
Anda tidak perlu memanggil endpoint ini untuk alamat yang pernah menerima TRX atau token — alamat tersebut sudah aktif, dan panggilan hanya akan mengembalikan 2001.
Memesan energy untuk alamat baru
Endpoint energy 1 jam mengaktifkan penerima yang belum aktif secara otomatis sebagai bagian dari pesanan, dan biaya aktivasi ditambahkan ke pesanan tersebut. Panggil activator secara eksplisit jika Anda ingin alamat tersebut aktif sebelum penyewaan apa pun — misalnya untuk mengisi ulang bandwidth terlebih dahulu, yang memang memerlukan akun aktif.
Waktu Proses
Aktivasi adalah transaksi on-chain yang sesungguhnya. Endpoint mengembalikan respons setelah transaksi disiarkan dan catatan aktivasi ditulis, biasanya dalam beberapa detik.
Alamat baru dapat digunakan setelah transaksi dimasukkan ke dalam blok — hingga ~3 detik setelah respons, karena itulah interval blok TRON. Jika langkah Anda berikutnya bergantung pada keaktifan alamat tersebut (misalnya memesan bandwidth), konfirmasikan statusnya di on-chain melalui hash yang dikembalikan daripada langsung memanggilnya seketika.
Referensi Kode Kesalahan
| Kode | Deskripsi | Status HTTP |
|---|---|---|
10000 | Alamat berhasil diaktifkan, saldo dipotong | 200 |
2001 | Alamat sudah aktif, tidak ada biaya yang dikenakan | 200 |
-1 | Kunci API tidak valid / IP tidak ada di whitelist | 401 |
1004 | Saldo tidak mencukupi — pesan mencantumkan berapa yang dibutuhkan dan berapa yang Anda miliki | 403 |
- | Format targetAddress tidak valid (harus 34 karakter, diawali dengan T) | 422 |
5003 | Aktivasi gagal atau layanan tidak tersedia untuk sementara — coba lagi nanti | 503 |
5000 | Kesalahan server internal | 500 |
Status 503 berarti tidak ada biaya yang dipotong dan tidak ada alamat yang diaktifkan: permintaan dapat dicoba ulang dengan aman.
Batasan Laju Panggilan
Dibatasi per IP sumber:
| Periode | Batas |
|---|---|
| 1 detik | 5 permintaan |
| 1 menit | 60 permintaan |
Batasan Laju Panggilan Terlampaui (429)
json
{ "message": "API rate limit exceeded" }Akun Pascabayar
Akun dengan penagihan pascabayar menggunakan endpoint, header, dan request body yang sama. Perbedaannya terletak pada cara pembayaran aktivasi:
- Tidak ada yang dipotong dari deposit Anda. Setiap aktivasi yang berhasil ditambahkan ke saldo tagihan akun Anda dalam mata uang penyelesaian yang disepakati dalam kontrak Anda. Anda membayarnya melalui faktur, sesuai dengan perjanjian Anda.
- Akun Anda memiliki batas kredit. Selama jumlah tagihan masih dalam batas tersebut, aktivasi tetap diterima meskipun deposit bernilai nol.
- Hanya aktivasi yang berhasil yang akan ditagih. Alamat yang sudah aktif (
2001) dan aktivasi yang gagal tidak dikenakan biaya apa pun.
Penagihan pascabayar diaktifkan oleh Netts untuk suatu akun berdasarkan permintaan. Setiap respons memberi tahu Anda bagaimana aktivasi dibayar: paymentMode bernilai postpaid atau prepaid.
Bidang permintaan tambahan
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
test | boolean | Tidak | true — hanya menghitung harga dan memeriksa alamat. Tidak ada yang diaktifkan atau ditagih |
freezePrice | boolean | Tidak | true — mengunci harga berdasarkan kontrak Anda selama 60 detik. Tidak ada yang diaktifkan atau ditagih |
quoteId | string | Tidak | Mengaktifkan dengan harga penawaran yang diterbitkan oleh freezePrice untuk alamat yang sama |
priceCurrency | string | Tidak | TRX (default) atau mata uang kontrak Anda, seperti dalam settlement.asset. Untuk akun pascabayar, jumlah dalam mata uang kontrak Anda selalu disertakan |
quoteId tidak dapat digabungkan dengan test atau freezePrice. Bidang lain apa pun di dalam request body akan ditolak.
Pengecekan harga (test: true)
json
{ "targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH", "test": true }json
{
"detail": {
"code": 10010,
"msg": "Test calculation",
"data": {
"amount": 1,
"unitPriceSun": null,
"discount": null,
"energyTRX": "0.000000",
"activationTRX": "1.100000",
"wouldCostTRX": "1.100000",
"paidTRX": 0,
"paymentMode": "postpaid",
"activationCheck": "inactive",
"alt": {"USDC": {"energy": "0.000000", "activation": "0.364333", "total": "0.364333"}},
"fxAt": "2026-10-19T07:17:33.475335+00:00",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH"
}
}
}activationCheck: inactive — alamat memerlukan aktivasi dan akan ditagih; active — alamat sudah aktif, wouldCostTRX bernilai 0; unknown — saat ini tidak dapat diperiksa.
alt.<currency> — jumlah yang sama dalam mata uang kontrak Anda. fxAt — waktu nilai tukar yang digunakan.
Penawaran harga tetap (freezePrice: true)
- Kirim permintaan dengan
"freezePrice": true. Respons memiliki kode10011(Quote issued), bidang yang sama dengan pengecekan harga, ditambahquoteIddanexpiresAt. - Dalam waktu 60 detik, kirim permintaan dengan
"quoteId": "<quoteId>"dantargetAddressyang sama. - Aktivasi ditagih sesuai harga penawaran — harga berdasarkan kontrak Anda pada saat penawaran dibuat.
Penawaran harga dapat digunakan satu kali. Penawaran yang kedaluwarsa atau sudah digunakan akan ditolak dan tidak ada yang diaktifkan.
Aktivasi berhasil
json
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX service cost, postpaid",
"data": {
"orderId": "A564125",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH",
"activation_cost": 1.1,
"user_balance_before": 0.0,
"user_balance_after": 0.0,
"hash": "bd9ea6ef92ce4ba6553af3930a03abe874cdfcc2399b7fdd9abdb11570de2920",
"paymentMode": "postpaid",
"activationTRX": "1.100000",
"totalTRX": "1.100000"
}
}
}| Bidang | Deskripsi |
|---|---|
activation_cost | Biaya aktivasi dalam TRX. Untuk akun pascabayar, biaya ini tidak dipotong dari deposit |
user_balance_before / user_balance_after | Deposit Anda — tidak berubah untuk akun pascabayar |
paymentMode | postpaid |
activationTRX / totalTRX | Jumlah pasti, 6 tempat desimal |
quoteId, alt | Ada jika aktivasi dilakukan menggunakan penawaran harga |
Batas kredit tercapai (402)
json
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached"
}
}Tidak ada yang diaktifkan dan tidak ada yang ditagih. Aktivasi baru akan diterima kembali setelah pembayaran Anda terdaftar atau batas kredit Anda dinaikkan.
Kode kesalahan pascabayar
| Kode | HTTP | Deskripsi |
|---|---|---|
10010 | 200 | Hasil pengecekan harga (test) |
10011 | 200 | Penawaran harga diterbitkan (freezePrice) |
1004 | 402 | Batas kredit pascabayar tercapai |
4100 | 400 | Permintaan tidak valid |
4101 | 400 | priceCurrency tidak didukung |
4102 | 400 | quoteId digabungkan dengan test atau freezePrice |
4103 | 409 | Penawaran harga sudah digunakan |
4104 | 409 | Penawaran harga kedaluwarsa |
4106 | 404 | Penawaran harga tidak ditemukan |
4107 | 409 | Parameter permintaan berbeda dari penawaran harga |
4108 | 400 | Format quoteId tidak valid |
4109 | 422 | Tidak tersedia untuk sub-akun |
5032 | 503 | Harga sementara tidak tersedia |
5033 | 503 | Nilai tukar sementara tidak tersedia |
5034 | 503 | Penagihan sementara tidak tersedia — aktivasi tidak diterima |
5036 | 503 | Pemeriksaan kredit sementara tidak tersedia — coba lagi nanti |
Untuk semua respons 4xx dan 503 di atas, tidak ada yang diaktifkan dan tidak ada yang ditagih.
Catatan
- Idempotensi menjadi tanggung jawab Anda. Endpoint ini tidak memiliki kunci idempotensi. Mengulang permintaan untuk alamat yang sudah aktif bersifat aman dan gratis (
2001), namun dua permintaan simultan untuk alamat baru yang sama dapat berjalan keduanya. Lakukan serialisasi aktivasi per alamat di sisi Anda. - Format
orderIdadalahA+ angka dan unik di seluruh aktivasi. - Tidak ada webhook yang dikirimkan untuk aktivasi saat ini — respons dan
hashadalah konfirmasinya. Webhook saat ini hanya mencakup delegasi energy yang telah dikonfirmasi, lihat Webhooks.