API Guide
https://api.trxmon.com/ The TRONMON API is designed based on REST principles, securely providing real-time on-chain transaction detection and automated payment matching data in an HTTPS environment.
Authentication
All API requests must include your issued API Key in the Header.
Webhook Security & Signature Verification
HMAC-SHA256 TRONMON sends an HTTP POST request to your registered Webhook URL upon real-time transaction detection and deposit matching completion.
To prevent tampered requests, all webhook headers contain X-Signature. You must perform HMAC-SHA256 verification using your issued API Key as the Secret Key.
HTTP_X_SIGNATURE hash_hmac('sha256', $rawInput, $apiKey) Webhook Reception & Signature Verification Code Example
<?php
// RAW Body parsing required (for HMAC verification)
$receivedSignature = $_SERVER['HTTP_X_SIGNATURE'] ?? '';
$apiKey = 'YOUR_TRONMON_API_KEY';
$rawInput = file_get_contents('php://input');
// Compute HMAC-SHA256
$computedSignature = hash_hmac('sha256', $rawInput, $apiKey);
// hash_equals(): Safe comparison against timing attacks
if (hash_equals($computedSignature, $receivedSignature)) {
$payload = json_decode($rawInput, true);
// Business Logic
var_dump($payload);
http_response_code(200);
echo json_encode(['status' => 'success']);
} else {
http_response_code(401);
echo json_encode(['status' => 'error', 'message' => 'Invalid Signature']);
}
const express = require('express');
const crypto = require('crypto');
const app = express();
// RAW Body parsing required (for HMAC verification)
app.use(express.raw({ type: 'application/json' }));
const API_KEY = 'YOUR_TRONMON_API_KEY';
app.post('/webhook', (req, res) => {
const receivedSignature = req.headers['x-signature'] || '';
const rawInput = req.body.toString('utf-8');
// Compute HMAC-SHA256
const computedSignature = crypto
.createHmac('sha256', API_KEY)
.update(rawInput)
.digest('hex');
// Safe comparison against timing attacks
const isSignatureValid = crypto.timingSafeEqual(
Buffer.from(computedSignature),
Buffer.from(receivedSignature)
);
if (isSignatureValid) {
const payload = JSON.parse(rawInput);
// Business Logic
console.log('[TRONMON] Webhook Received:', payload);
return res.status(200).json({ status: 'success' });
} else {
return res.status(401).json({ status: 'error', message: 'Invalid Signature' });
}
});
app.listen(3000, () => console.log('Server running on port 3000'));
import hmac
import hashlib
import json
from fastapi import FastAPI, Request, HTTPException, Header
from fastapi.responses import JSONResponse
app = FastAPI()
API_KEY = "YOUR_TRONMON_API_KEY"
@app.post("/webhook")
async def webhook_receiver(request: Request, x_signature: str = Header(None)):
raw_body = await request.body()
# Compute HMAC-SHA256
computed_signature = hmac.new(
API_KEY.encode('utf-8'),
raw_body,
hashlib.sha256
).hexdigest()
# Safe comparison against timing attacks
if x_signature and hmac.compare_digest(computed_signature, x_signature):
payload = json.loads(raw_body.decode('utf-8'))
# Business Logic
print("[TRONMON] Webhook Received:", payload)
return JSONResponse(status_code=200, content={"status": "success"})
else:
raise HTTPException(status_code=401, detail="Invalid Signature")
package main
import (
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"io"
"net/http"
)
const apiKey = "YOUR_TRONMON_API_KEY"
func webhookHandler(w http.ResponseWriter, r *http.Request) {
receivedSignature := r.Header.Get("X-Signature")
rawBody, err := io.ReadAll(r.Body)
if err != nil {
http.Error(w, "Bad Request", http.StatusBadRequest)
return
}
// Compute HMAC-SHA256
mac := hmac.New(sha256.New, []byte(apiKey))
mac.Write(rawBody)
computedSignature := hex.EncodeToString(mac.Sum(nil))
// Safe comparison against timing attacks
if hmac.Equal([]byte(computedSignature), []byte(receivedSignature)) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write([]byte(`{"status":"success"}`))
} else {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusUnauthorized)
w.Write([]byte(`{"status":"error","message":"Invalid Signature"}`))
}
}
func main() {
http.HandleFunc("/webhook", webhookHandler)
http.ListenAndServe(":8080", nil)
}
Webhook Response Sandbox
Default EndpointYou can use the sandbox endpoint if you do not have a dedicated server or local test environment set up.
https://www.tronmon.com/webhook/sandbox
Receiving Server Response Specs (HTTP Status Codes)
| Status Code | Processing State | Behavior & Description |
|---|---|---|
| 200 OK | Success | Webhook data successfully received (no retries). |
| 400 Bad Request | Error | X-Signature verification failed or required payload missing. |
| 405 Method | Error | Cannot process HTTP methods other than POST. |
| 500 / Timeout | Fail | Internal server error or request timeout exceeded 5 seconds (retry policy applies). |
IP Whitelisting & API Access
Error: INVALID_API_KEY For security purposes, all TRONMON REST API requests require IP whitelisting.
Only API calls originating from server IPv4 addresses registered under Trxmon Admin > Member Info are allowed.
Calling the API from an unregistered IP or with an invalid key will return an INVALID_API_KEY error response.
Common Specifications
Global SpecsGlobal standards for network designations, token symbols, fiat currencies, and timezones used across the Trxmon API.
Network (network)
Error: UNSUPPORTED_NETWORKAmong planned networks, currently only the TRON network is supported.
Token Symbol (token_symbol)
Error: INVALID_SYMBOLCurrently supports TRX, TRXUSDT standards. Unsupported symbols return an error.
Fiat Currency (currency)
Error: INVALID_CURRENCYSupported ISO fiat currency codes for price conversions during payment and settlement processing.
Timezone & Locale Policy
Timestamps and currency representations in API responses are automatically converted based on the account language and timezone settings configured in the Trxmon Admin portal.
/v1/wallet/subscription/add Add Subscription
Registers a target wallet address in Trxmon for real-time monitoring and deposit matching. Processed using account credits or Free Tier allowances.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Blockchain wallet address to register |
network | string | Required | Network identifier (Currently supports TRON) |
holder_name | string | Optional | Wallet owner name or identification alias |
is_pool | integer | Optional | Pool wallet flag (0: Regular wallet, 1: Pool wallet, Default: 0) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request success status (true / false) |
free_tier_use | boolean | Whether Free Tier allowance was applied |
id | integer | Unique Primary Key of the created subscription wallet (insertId) |
curl -X POST https://api.trxmon.com/v1/wallet/subscription/add \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"address": "TTestAddress1234567890Owner",
"network": "TRON",
"holder_name": "name",
"is_pool": 0
}' {
"success": true,
"free_tier_use": false,
"id": 1284
} /v1/wallet/subscription List Subscriptions
Retrieves a paginated list of monitored wallets with network, status (active/deleted), and keyword search filters.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Required | Network identifier (TRX, TRXUSDT, etc. / Use ALL for all networks) |
status | string | Optional | Wallet status filter (active: Default, deleted, all) |
search | string | Optional | Search query for wallet address or holder name |
page | integer | Optional | Page number (Default: 1) |
limit | integer | Optional | Items per page (Default: 20, Max: 100) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request success status (true / false) |
list | array | List of subscription wallet objects |
total | integer | Total count matching search criteria |
total_pages | integer | Total page count |
page | integer | Current page number |
page_list | array | Pagination list (page_num, is_active) |
limit | integer | Requested limit per page |
has_prev | integer | Previous page indicator (1 / 0) |
prev_page | integer | Previous page number |
has_next | integer | Next page indicator (1 / 0) |
next_page | integer | Next page number |
curl -X POST https://api.trxmon.com/v1/wallet/subscription \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"network": "TRON",
"status": "active",
"search": "",
"page": 1,
"limit": 20
}' {
"success": true,
"list": [
{
"id": "1",
"address": "TX...",
"holder_name": "",
"is_active": 1,
"is_pool": 0,
"status": 1,
"network": "TRON",
"verified": 1,
"verified_at": "2026-08-09 19:06:20",
"verified_method": "wallet_sign",
"trx_usdt_balance": "0",
"trx_balance": "0",
"eth_usdt_balance": "0",
"eth_balance": "0",
"bnb_balance": "0",
"btc_balance": "0",
"balance_updated_at": "2026-05-06 15:49",
"updated_at": "2026-08-09 19:06:20"
}
],
"total": 1,
"total_pages": 1,
"page": 1,
"page_list": [{"page_num": 1,"is_active": true}],
"limit": 20,
"has_prev": 0,
"prev_page": 0,
"has_next": 0,
"next_page": 2
} /v1/wallet/subscription/:address Get Subscription Wallet Details & Balance
Retrieves subscription wallet metadata from the database along with real-time blockchain balance checking and background processing. Requires authentication via API key.
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Target wallet address to query |
Response Body Specification (Data Fields)
| Field Name | Type | Description |
|---|---|---|
holder_name | string | Holder name or identifier for the wallet |
is_pool | integer | Pool wallet flag (1 / 0) |
verified | integer | Verification status flag |
network | string | Blockchain network (e.g., TRON) |
balances | object | Real-time balance object containing token symbols and amounts (e.g., TRX, TRXUSDT) |
created_at & updated_at | string | Timestamps reflecting database records, Formatted timestamp strings reflecting user timezone |
curl -X GET https://api.trxmon.com/v1/wallet/subscription/TXYZ...TargetAddress \
-H "Authorization: Bearer your_api_key_here" {
"success": true,
"data": {
"holder_name": "My Business Wallet",
"is_pool": 1,
"verified": 1,
"created_at": "2026-01-10 12:00:00",
"updated_at": "2026-10-06 12:45:00",
"network": "TRON",
"balances": {
"TRX": "125.500000",
"TRXUSDT": "1000.000000"
}
}
} /v1/wallet/subscription/editHolderName Edit Holder Name
Updates the holder name or identification alias for an existing registered wallet address in Trxmon.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Blockchain wallet address to update |
network | string | Required | Network identifier (Currently supports TRON) |
newName | string | Required | New wallet owner name or identification alias |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request success status (true / false) |
curl -X POST https://api.trxmon.com/v1/wallet/subscription/editHolderName \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"address": "TTestAddress1234567890Owner",
"network": "TRON",
"newName": "new_name"
}' {
"success": true
} /v1/wallet/subscription/delete Stop Subscription
Unregisters a currently monitored wallet address from real-time detection. Pass the network code and wallet address to stop monitoring target subscriptions.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Target blockchain wallet address to unregister |
network | string | Required | Network identifier code (case-insensitive, e.g., TRON) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
curl -X POST https://api.trxmon.com/v1/wallet/subscription/delete \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"address": "TTestAddress1234567890Owner",
"network": "TRON"
}' {
"success": true
} /v1/wallet/subscription/restore Restore Subscription
Reactivates an unregistered wallet subscription to resume real-time monitoring.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Target blockchain wallet address to restore |
network | string | Required | Network identifier code (case-insensitive, e.g., TRON) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
curl -X POST https://api.trxmon.com/v1/wallet/subscription/restore \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"address": "TTestAddress1234567890Owner",
"network": "TRON"
}' {
"success": true
} /v1/wallet/subscription/pool Switch Pool Mode
Swaps the usage type of a subscribed wallet to or from a matching pool wallet.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Required | Target blockchain wallet address |
network | string | Required | Network identifier code (case-insensitive, e.g., TRON) |
is_pool | integer | Required | Wallet mode flag (1: Detection + Matching Pool, 0: Detection Only) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
curl -X POST https://api.trxmon.com/v1/wallet/subscription/pool \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"address": "TTestAddress1234567890Owner",
"network": "TRON",
"is_pool": 1
}' {
"success": true
} /v1/holder/add Pre-register Holder Wallet
If webhooks are configured for notification channels, you can pre-register counterparty wallet addresses to generate deposit matching and identification data.
You can specify custom data to be included in webhook payloads, which will apply across all subscribed wallets.
* Note: If individual deposit matching data exists, that specific matching info takes precedence.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Required | Network identifier code (case-insensitive, e.g., TRON) |
address | string | Required | Base sender wallet address (Sender) |
holder_name | string | Optional | Wallet owner identification name |
holder_id | number | Optional | Unique numeric ID of the wallet owner |
callback_json | string | Optional | Custom JSON string passed along during webhook events |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
id | number | Unique ID of the generated holder wallet |
curl -X POST https://api.trxmon.com/v1/holder/add \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"network": "TRON",
"address": "TTestAddress1234567890Owner",
"holder_name": "holder-1",
"holder_id": 1001,
"callback_json": "{\"user_ref\":\"REF1234\"}"
}' {
"success": true,
"id": 158
} /v1/holder/bulk-action Bulk Delete Holders
Deletes multiple holder wallets in bulk based on the provided list of holder wallet IDs.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
ids | array | Required | Array of unique holder wallet IDs to delete (e.g., [158, 159]) |
mode | string | Required | Action type to perform ("delete") |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
processed_count | number | Number of items successfully deleted |
curl -X POST https://api.trxmon.com/v1/holder/bulk-action \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"ids": [158, 159],
"mode": "delete"
}' {
"success": true,
"processed_count": 2
} /v1/holder Get Holder List
Retrieves a list of registered holder wallets matching the pagination and search conditions.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Required | Network identifier code (case-insensitive, e.g., TRON) |
page | integer | Optional | Page number to retrieve (default: 1) |
limit | integer | Optional | Number of items per page (default: 20, max: 100) |
search | string | Optional | Search term for wallet address, counterparty address, or holder name |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
list | array | List of subscribed wallet objects (see below for detailed structure) |
total | integer | Total number of wallets matching the search criteria |
total_pages | integer | Total number of pages |
page | integer | Current page number |
page_list | array | Page navigation list (page_num, is_active) |
limit | integer | Requested items per page |
has_prev | integer | Indicates if a previous page exists (1 / 0) |
prev_page | integer | Previous page number |
has_next | integer | Indicates if a next page exists (1 / 0) |
next_page | integer | Next page number |
curl -X POST https://api.trxmon.com/v1/holder \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"network": "TRON",
"page": 1,
"limit": 20,
"search": "name"
}' {
"success": true,
"list": [
{
"id": 1,
"holder_id": 1,
"holder_name": "holder1",
"callback_json": {
"key": "value"
},
"address": "T...",
"to_address": "T...",
"network": "TRON",
"created_at": "2026-01-01 00:00",
"updated_at": "2026-01-01 00:00"
}
],
"total": 1,
"total_pages": 1,
"page": 1,
"page_list": [{"page_num": 1,"is_active": true}],
"limit": 20,
"has_prev": 0,
"prev_page": 0,
"has_next": 0,
"next_page": 2
} /v1/match/add Register Deposit Detection Match
Creates a new deposit detection matching payment transaction and generates a dedicated matching UUID. Calculates the required crypto amount based on the selected fiat currency, fixing the rate for 15 minutes to await matching.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
product_name | string | Required | Product/Service name |
base_type | string | Required | Base amount calculation method ("fiat" or "coin") |
address | string | Required | Registered subscription+matching wallet address (or "RANDOM" for automatic allocation) |
fiat_currency | string | Required | Fiat currency code (e.g., "KRW", "USD") |
network | string | Required | Network identifier code (e.g., "TRON") |
token_symbol | string | Required | Token symbol (e.g., "TRXUSDT", "TRX") |
fiat_value | number | Conditional | Required when base_type === "fiat" |
coin_value | number | Conditional | Required when base_type === "coin" |
product_img_url | string | Optional | Product image URL |
product_desc | string | Optional | Detailed product description |
callback_json | string | Optional | Custom JSON string passed with webhook notifications |
ref_id | string | Optional | Unique client reference ID (must be unique if provided; returned upon successful match) |
use_energy_support | boolean | Optional | Whether to enable energy delegation support (TRON network only) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
uuid | string | Unique UUID for the created deposit detection match transaction |
address | string | Assigned TRON deposit destination address for payment matching |
match_amount | string / number | Precise target deposit amount required for automatic verification |
token_symbol | string | Target token symbol (e.g., TRXUSDT, TRX) |
expire_at | string | Formatted timestamp strings reflecting user timezone |
https://www.tronmon.com/match/GENERATED_UUIDQR code containing the exact amount and network configuration using
https://www.tronmon.com/qr?uuid=GENERATED_UUID curl -X POST https://api.trxmon.com/v1/match/add \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"product_name": "TEST",
"base_type": "fiat",
"address": "RANDOM",
"fiat_currency": "KRW",
"fiat_value": 50000,
"network": "TRON",
"token_symbol": "TRXUSDT",
"ref_id": "ORDER_20260817_001"
}' {
"success": true,
"uuid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"address": "TQR....",
"match_amount": "236.2321",
"token_symbol": "TRX",
"expire_at": "2026-10-06 15:30",
} /v1/match/:uuid Get Match Status & Details
Retrieves comprehensive details and current status of a specific deposit matching transaction using its unique UUID as an authentication token. No login or API key is required.
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
uuid | string | Required | Unique UUID of the matching transaction (acts as a bearer token) |
Response Body Specification (Data Fields)
| Field Name | Type | Description |
|---|---|---|
uuid | string | Unique transaction UUID |
ref_id | string | Merchant's internal order ID or user ID |
status | string | Current transaction status (pending, detected, confirmed, expired) |
match_amount | string | Target cryptocurrency amount to be deposited |
token_symbol & network | string | Target token (e.g., USDT) and network (e.g., TRON) |
address | string | Deposit target wallet address |
fiat_value & fiat_currency | string | Fiat value and currency requested by user |
host_value & host_currency | string | Merchant settlement standard currency valuation |
product_name & product_desc | string | Associated product name and description |
callback_json | object / null | Custom merchant metadata payload included upon creation |
tx_id | string | Blockchain transaction hash (if detected) |
verified | boolean | Blockchain verification status (true / false) |
use_energy_support & energy_target_address | boolean / string | Gas fee energy delegation support flag and target address |
expire_at, detected_at, created_at | string | Formatted timestamp strings reflecting user timezone |
curl -X GET https://api.trxmon.com/v1/match/a1b2c3d4-... \
-H "Authorization: Bearer your_api_key_here" {
"success": true,
"data": {
"uuid": "a1b2c3d4-...",
"ref_id": "ORDER_20261006_001",
"status": "pending",
"match_amount": "105.500000",
"token_symbol": "USDT",
"network": "TRON",
"address": "TXYZ...TargetAddress",
"fiat_value": "150000",
"fiat_currency": "KRW",
"host_value": "150000",
"host_currency": "KRW",
"product_name": "Premium Service Plan",
"product_desc": "1 Month Subscription",
"callback_json": {
"user_email": "client@example.com",
"user_data": "expamples.."
},
"tx_id": null,
"verified": false,
"use_energy_support": true,
"energy_target_address": "TUserWallet...",
"expire_at": "2026-10-06 15:30",
"detected_at": null,
"created_at": "2026-10-06 15:15"
}
}
/v1/match/:uuid/energy_rent/:target Trigger Energy Delegation (Gas Fee Support)
Triggers energy rental/delegation for a specific match transaction and target wallet address. TRON / USDT Only Requires authentication via API key and validates ownership.
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
uuid | string | Required | Unique transaction UUID of the match request |
target | string | Required | Target wallet address to receive the energy delegation |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
https://www.tronmon.com/match/GENERATED_UUID), you must guide your users to wait at least 1 minute after energy delegation is triggered before broadcasting their transaction to the network to prevent failures. curl -X GET https://api.trxmon.com/v1/match/a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d/energy_rent/TXYZ...TargetAddress \
-H "Authorization: Bearer your_api_key_here" {
"success": true
} /v1/match/force_expire Force Expire Match
Forcibly changes the status of an ongoing deposit detection matching transaction to Expired.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
uuid | string | Required | Unique UUID of the matching transaction to be forcibly expired |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
curl -X POST https://api.trxmon.com/v1/match/force_expire \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"uuid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d"
}' {
"success": true
} /v1/match Get Active Matches List
Retrieves a list of currently active deposit detection matching pages in progress.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
uuid | string | Optional | UUID of a specific matching transaction to look up |
network | string | Optional | Network search filter (e.g., "TRON") |
ref_id | string | Optional | Client reference ID search filter |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
list | array | Array of retrieved active matching objects (sanitized for security) |
curl -X POST https://api.trxmon.com/v1/match \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"network": "TRON"
}' {
"success": true,
"list": [
{
"id": "1",
"uuid": "13...",
"ref_id": "ORDER_20260817_001",
"fiat_rate": "0.0000",
"host_rate": "466.5600",
"fiat_value": "50000",
"host_value": "50000",
"fiat_currency": "KRW",
"host_currency": "KRW",
"match_amount": "107.167353",
"match_base_fiat": "466.5600",
"token_symbol": "TRX",
"network": "TRON",
"address": "T...",
"credit_used": "0.000000",
"use_energy_support": 0,
"energy_target_address": null,
"callback_json": null,
"product_name": "Product Name Test",
"product_desc": "",
"product_img_url": null,
"status": "pending",
"memo": "",
"expire_at": "2026-08-18 10:22",
"created_at": "2026-08-18 10:05",
"verified": 1,
"holder_name": "",
"company_name": "",
"expire_at_timestamp": "1787016173"
}
]
} /v1/account Account & Credit Balance
Retrieves basic account settings, current credit balance, plan details, and usage limits.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Required | API Authentication Token (Bearer ) |
Response Body Specification
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates request success (true / false) |
data.email | string | Registered account email |
data.timezone | string | Account timezone setting (e.g., "Asia/Seoul") |
data.language | string | Default language setting (e.g., "ko", "en") |
data.currency | string | Base currency setting (e.g., "KRW", "USD") |
data.company_name | string | Verified KYC entity/company name |
data.webhook_url | string | Registered webhook destination URL |
data.credit | number | Current available credit balance |
data.plan | number / string | Subscribed plan tier (e.g., "bronze") |
data.count | number | Total request count in current billing cycle |
data.limit | number | Maximum allowed limit for current plan |
curl -X GET https://api.trxmon.com/v1/account \
-H "Authorization: Bearer your_api_key_here" {
"success": true,
"data": {
"email": "user@example.com",
"timezone": "Asia/Seoul",
"language": "ko",
"currency": "KRW",
"company_name": "TRONMON",
"webhook_url": "https://api.yourcompany.com/webhook",
"credit": 83.3432,
"plan": "bronze",
"count": 12,
"limit": 100
}
} /v1/price/:symbol Get Real-Time Market Prices
Fetches current real-time market prices for supported cryptographic assets (e.g., TRX, Tether) used across payment and platform calculations. Public API
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Required | Target token symbol (e.g., trx, tether) |
Response Body Specification
| Field Name | Type | Description |
|---|---|---|
success | boolean | Request processing success status (true / false) |
symbol | string | The requested token symbol (e.g., TRX) |
currency | string | Fiat currency code based on your account's preferred language/regional setting (e.g., KRW, USD) |
price | number | Current unit market price in the specified fiat currency |
trx and tether are automatically evaluated based on live liquidity pools. curl -X GET https://api.trxmon.com/v1/price/trx \
-H "Authorization: Bearer your_api_key_here" {
"success": true,
"symbol": "TRX",
"currency": "KRW",
"price": 440.06
} API Error Codes Reference Full Error Code Specification
When an error occurs during an API request, the returned error constant is passed via the error_code field.
1. Authentication & Security
| Error Code | Description & Message |
|---|---|
INVALID_API_KEY | Invalid API Key or access attempted from an unregistered IP address. |
INVALID_API_ACCESS_IP | Unregistered IP address. |
UNAUTHORIZED_ROLE | Unauthorized action. (Super Admin privileges required) |
ACCOUNT_SUSPENDED | Merchant account is deactivated or suspended. |
2. System & Maintenance
| Error Code | Description & Message |
|---|---|
MAINTENANCE_MODE | System is currently undergoing scheduled maintenance. |
MAINTENANCE_LOCKED | Scheduled maintenance will start soon. Access is temporarily restricted for safe data processing. |
EMERGENCY_MAINTENANCE | System is currently undergoing emergency maintenance for stabilization. |
NODE_BUSY | Connection delayed due to high node traffic. Please try again shortly. |
SERVER_ERROR / DB_ERROR | System error occurred during server or database processing. |
TIMEOUT | Request processing time exceeded. |
API_DISABLED / INVALID_MODE | This API endpoint is no longer supported. |
3. Credit & Plan
| Error Code | Description & Message |
|---|---|
ZERO_CREDIT | Insufficient balance. Please recharge and try again. |
NOT_ENOUGH_CREDIT | Administrator credits are insufficient for this feature. |
RATE_LIMIT_EXCEEDED | Too many requests. Please try again in a moment. |
PLAN_RESTRICTED | Note: The PLAN_RESTRICTED error is typically triggered when attempting to execute resource-heavy operations such as Energy Rental with a balance of fewer than 20 credits. |
REQUIRED_PLAN_LEVEL | Feature not supported by your current plan or requires a higher tier plan. |
4. Wallet & Parameter
| Error Code | Description & Message |
|---|---|
INVALID_ADDR | Invalid wallet address format. |
REQUIRED_ADDR | Wallet address is missing. (Required field) |
DUPLICATE_ADDR / USED_ADDR | Address is already registered under your account. |
ALREADY_MONITORED | Address is already monitored by another user. (Recharge required) |
SAME_ADDR | Sender and recipient addresses cannot be identical. |
UNSUPPORTED_NETWORK | Unsupported blockchain network. |
INVALID_SYMBOL / TOKEN_SYMBOL_REQUIRED | Invalid or missing asset (token symbol) type. |
INVALID_JSON | JSON parsing failed or request payload specification is invalid. |
INVALID_PARAMETER | Invalid parameter in request data. |
ONLY_NUMBERS / ONLY_STRING | Invalid data type format. (Numbers only / String only) |
MINIMUM_WALLET_REQUIRED | At least one target wallet must be maintained for monitoring. |
5. Pay & Webhook
| Error Code | Description & Message |
|---|---|
REQUIRED_WEBHOOK_URL | Webhook URL is not registered in user profile. |
DUPLICATE_REF_ID | Reference ID (REF_ID) already in use. Please retry after previous session expires. |
REF_ID_TOO_LONG | Reference ID (REF_ID) exceeds maximum length limit. |
REQUIRED_UUID / NOT_FOUND | Matching transaction ID (UUID) is missing, or matching data was not found. |
INVALID_BASE_TYPE | Invalid calculation base type. (Only fiat or coin supported) |
REQUIRED_FIAT_VALUE / INVALID_FIAT_VALUE | Fiat request amount missing or non-numeric value provided. |
REQUIRED_COIN_VALUE / INVALID_COIN_VALUE | Coin matching amount missing or non-numeric value provided. |
INVALID_CURRENCY | Unsupported currency type. |
NOT_FOUND_PRICETABLE | Failed to retrieve market price for the specified coin. |
CANNOT_RESEND | Already resending or no target available for resend. |
CANNOT_MANUALMATCH | Manual matching integration failed due to data mismatch. |
UUID_NOTFOUND | Transaction UUID page not found. |
ENERGY_ALREADY_PROCESSED | Energy rent has already been requested or processed for this match. |
PAYMENT_EXPIRE_SOON | Less than 3 minutes remaining, energy rental to payment timeline is too tight.[br]Please expire current payment and re-request. |
BLACK_LIST_ADDRESS | This wallet is blacklisted. Transaction halted. |
ZERO_USDT_BALANCE | No transferable USDT balance in this wallet. |
INSUFFICIENT_USDT_BALANCE | Wallet USDT balance is lower than the requested settlement amount. |
DUPLICATE_WORK | Duplicate task registered. |
ABUSE_USER_LIMIT_EXCEEDED | Automatic support is no longer available due to accumulated non-transfer history after free energy support. Please prepare network fees (TRX) in your personal wallet before proceeding with the transaction. |
NETWORK_CONGESTED | Network is congested and fees are high. Task cannot be executed now. |
INSUFFICIENT_RESOURCE_LIMIT | Insufficient TRX resources to pay transaction fee (bandwidth).[br]Please keep at least 0.5 TRX balance in your wallet. |
ENERGY_ENOUGH | Energy is sufficient. [Proceed without Rental] |
{
"success": false,
"msg": "messages..",
"error_code": "Error Code"
}