You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'description': 'Master switch for USDT scan-to-pay checkout (multi-chain, single address + amount-suffix matching).'
1226
1234
},
1227
1235
{
1228
-
'key': 'USDT_PAY_CHAIN',
1229
-
'label': 'USDT Chain',
1230
-
'type': 'select',
1231
-
'default': 'TRC20',
1232
-
'options': ['TRC20'],
1233
-
'description': 'Currently only TRC20 is supported'
1236
+
'key': 'USDT_PAY_ENABLED_CHAINS',
1237
+
'label': 'Enabled Chains',
1238
+
'type': 'text',
1239
+
'default': 'TRC20,BEP20,ERC20,SOL',
1240
+
'description': 'Comma-separated chain whitelist. Any code not in this list is rejected at order creation. Valid codes: TRC20 / BEP20 / ERC20 / SOL.'
1234
1241
},
1235
1242
{
1236
-
'key': 'USDT_TRC20_XPUB',
1237
-
'label': 'TRC20 XPUB (Watch-only)',
1238
-
'type': 'password',
1243
+
'key': 'USDT_TRC20_ADDRESS',
1244
+
'label': 'TRC20 Receiving Address',
1245
+
'type': 'text',
1239
1246
'required': False,
1240
-
'description': 'Watch-only xpub used to derive per-order deposit addresses. Do NOT paste private key.'
1247
+
'description': 'Your TRON wallet address (starts with T...). Leave blank to hide TRC20 from the chain picker.'
1241
1248
},
1242
1249
{
1243
-
'key': 'USDT_TRC20_CONTRACT',
1244
-
'label': 'USDT TRC20 Contract',
1250
+
'key': 'USDT_BEP20_ADDRESS',
1251
+
'label': 'BEP20 Receiving Address',
1245
1252
'type': 'text',
1246
-
'default': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
1247
-
'description': 'USDT contract address on TRON'
1253
+
'required': False,
1254
+
'description': 'Your BSC wallet address (0x...). Reconciliation runs on public BSC RPC by default — no API key needed.'
1255
+
},
1256
+
{
1257
+
'key': 'USDT_ERC20_ADDRESS',
1258
+
'label': 'ERC20 Receiving Address',
1259
+
'type': 'text',
1260
+
'required': False,
1261
+
'description': 'Your Ethereum wallet address (0x...). Reconciliation prefers Etherscan V2 (free plan covers ETH), with public Ethereum RPC fallback.'
1248
1262
},
1249
1263
{
1250
-
'key': 'TRONGRID_BASE_URL',
1251
-
'label': 'TronGrid Base URL',
1264
+
'key': 'USDT_SOL_ADDRESS',
1265
+
'label': 'Solana Receiving Address',
1252
1266
'type': 'text',
1253
-
'default': 'https://api.trongrid.io',
1254
-
'description': 'TronGrid API base URL'
1267
+
'required': False,
1268
+
'description': 'Your Solana wallet address (base58). The SPL USDT mint ATA is derived on-chain by the sender wallet.'
1255
1269
},
1256
1270
{
1257
1271
'key': 'TRONGRID_API_KEY',
1258
1272
'label': 'TronGrid API Key',
1259
1273
'type': 'password',
1260
1274
'required': False,
1261
-
'description': 'Optional TronGrid API key for higher rate limits'
1275
+
'description': 'Optional. Higher TronGrid rate-limit / stability for TRC20 reconciliation. Get one at https://www.trongrid.io.'
1276
+
},
1277
+
{
1278
+
'key': 'ETHERSCAN_API_KEY',
1279
+
'label': 'Etherscan API Key',
1280
+
'type': 'password',
1281
+
'required': False,
1282
+
'description': 'Optional. Used for ERC20 reconciliation via Etherscan V2 (free plan covers Ethereum mainnet). BEP20 ignores this — it uses public BSC RPC. Get a key at https://etherscan.io/myapikey.'
1262
1283
},
1263
1284
{
1264
1285
'key': 'USDT_PAY_CONFIRM_SECONDS',
1265
1286
'label': 'Confirm Delay (sec)',
1266
1287
'type': 'number',
1267
1288
'default': '30',
1268
-
'description': 'Delay before marking a paid transaction as confirmed (TRC20)'
1289
+
'description': 'Seconds to wait after detecting a transfer before marking the order confirmed and activating the membership.'
1269
1290
},
1270
1291
{
1271
1292
'key': 'USDT_PAY_EXPIRE_MINUTES',
1272
1293
'label': 'Order Expire (min)',
1273
1294
'type': 'number',
1274
1295
'default': '30',
1275
-
'description': 'USDT payment order expiration time in minutes'
1296
+
'description': 'Minutes a pending USDT order stays open before expiring. Users can re-open the modal to generate a fresh amount suffix.'
1297
+
},
1298
+
{
1299
+
'key': 'USDT_WORKER_POLL_INTERVAL',
1300
+
'label': 'Worker Poll Interval (sec)',
1301
+
'type': 'number',
1302
+
'default': '30',
1303
+
'description': 'How often the background worker re-scans pending/paid orders against on-chain data.'
0 commit comments