Skip to main content

Autopayments - TRON, TON, BSC [in Admin]

Guide for self-assist activation of auto payments in TRON, TON, BSC networks.

TRON (TRC20), TON, BSC (Binance Smart Chain - BEP20) networks - allows your bot to accept auto payments and credit their amounts to the balance of users in the bot.
● Address of payment systems:
- TON:
- BSC:
● Identification: Payer's address (wallet).
● Available currencies:
- TRON: TRX, USDT (any other available Coins and Tokens, upon request)
- TON: TON (any other available Coins and Tokens, upon request)
- BSC: BNB, USDT (any other available Coins and Tokens, upon request) 
● Auto withdrawal: Available for TRON network, Not available for TON, BSC.
📆 Paid monthly (the current cost see while paying).
📞 Setting up activation: 🔐Admin | 💸Autopayments

IMPORTANT: Connection of auto payments for all presented networks is carried out in a similar way. For this reason, and also because of the reluctance to duplicate information in separate documents, the instructions for all presented networks have been combined into one manual. However, it must be borne in mind that each of the presented networks, being a separate, independent project, and is connected and paid separately.

When we start talking about autopayments in this guide, we assume that you already have a basic knowledge of how to work with the constructor and we do not need to explain to you, for example, how buttons and messages are added to your bot's menu. If, nevertheless, you still need to be explained these basic things, then you way too early attempting to create the autopayment functionality.

❖ Autopayments

How to organize automatic payment acceptance for TRON, TON, BSC networks in your bot.

Required Functions

The functionality of the «🧩Extensions» section:
if you do not use a variable balance for accruals, then you will need additional variables.
need additional variables to store user's wallets addresses.

Add. Variables
To connect, go to your bot:
☞ 🔐Admin | 🧩Extensions | 📂Variables

Guide to Variables.

Autopayments setup

1. Checker settings

Using the setup wizard, enter all the requested data.

1.1 The address of YOUR wallet in one of the networks

The address of your wallet in one of the networks (TRON, TON, BSC) to which you planing to receive payments. The bot will check the incoming transactions of this wallet.

After entering the above data, you will see buttons that were not previously in the menu.

2. Pay the checker

Make payment for the amount shown.

Payment for at least a month. Exchange the required amount in TMH on your @MenuBuilderBot account, based on the number of months of activation.
☞ 🔐Admin | 🧩Extensions | 🏦Your Wallets

3. Activate the checker

Turn on the checker to continue the setup.

4. User Addresses

You must specify a variable to store the wallet address of the user for the network you have chosen (TRON, TON, BSC) to identify his payments.

GUIDE: If you do not understand what the variable is for, read again “Payment Identification Methods”.

5. Balance in XXXX

It is necessary to set variables - where to accrue funds for each of the available currencies.

If you have only one currency in your bot, then "balance" is usually used. If there are several currencies, then there may be an individual variable for each currency or a single one, but with conversion at the specified rate. Each currency available for autopayments in a particular network, will have a separate button to specify the Balance.

5.1 Specify the variable to be accrued.

For selection, you will be presented with a list of NUMERIC variables available in the Bot.

If you do not have variables, you need to ADD them to the bot and CREATE - how to do this is described above.
The number of variables you have in the bot should correspond to the number of currencies you plan to accept on different balances in the bot.

5.2 Specify the accrual rate.

Top-up sum will be multiplied by the Rate provided. You can use Expression and macros of Automatic Rates here (they not necessarily have to be purchased in this bot).

What is the Accrual Rate and how to use it.
You can use your own token within your project and its rate may not directly correspond to the replenishment currency, so you can set your own rates and accrue the sum of replenishment immediately in the internal token.
Using the Accrual Rate, you can set a commission for replenishment in a particular currency, and the commission may be different for each of the currencies.
If you have a single balance, and replenishment is made using different currencies, then by specifying one variable you can add different currencies there - automatically converting them using rates and bringing them to a single form (for example, converting everything to USDT).

5.3 Specify the referral bonus.

The size of the referral bonus is determined AFTER the calculation of the amount of actual accrual, taking into account the previously specified Rate.

6. Show Total

During autopayments, the group you specified (see below) will receive reports with the data of a specific autopayment. If you want to be shown the total amount on the balance of your wallet in a separate message, then leave this option enabled.

Enables showing the total amount on the wallet balance during autopayments.
Off ⏹️ - the function is disabled (the total amount is not shown).
On ▶️ - the function is enabled (the total amount is shown) - DEFAULT.

Set up a report group for autopayments

As it is mentioned above, during autopayments, reports with the data of a specific replenishment will be sent to the group you specified. In order for the bot to know which group to send reports to, it must be specified in the settings.

To specify a group, go to your bot:
☞ 🔐Admin | 💸Autopayments | Top-up Group/Channel

Set Top-up Group/Channel

Information on how to add a group, see the Groups Manual - the concept is the same.

Group/Channel is Public

The option determines what kind of data will be present in the report. Reports for public groups do not contain personal user data.

Choose the type of group specified for sending reports.
Off ⏹️ - groups private (all data)
On ▶️ - public group (without personal data)

Set Custom Top-up Message

Here you can set your own message for the autopayment report. All the macros of your bot are available in the message, and there is also a list of additional macros that is indicated in the instructions when entering the setting.

❖ How to organize Autopayments in your bot's menu

How to organize autopayment for TRON, TON, BSC networks.

If you have already enabled TRON, TON or BSC automatic payments in your bot, you need to create a way for people (your users) to automatically top-up. What is needed for this:

Almost all you need in the bot is a button with the «Variable Input» form, using this button, your users will save the address of THEIR wallet (for identification) - from which they will pay and a message with the address of YOUR wallet (so they know where to pay). Name the button as you wish, for example, «Enter Your Wallet Address», and it is desirable to either show the message after the input form, or create a separate button for it, protected by the condition that checks whether the user’s wallet address is entered for identification. Here we describe the second method.

1. Create a common button. Name it: «Top-up the Balance».

2. Inside the «Top-up the Balance» button, create two more buttons:
«Payment Address»
«Enter Your Wallet Address»

2.1 In the message of the «Payment Address» button, show the address of YOUR wallet (which you indicated in paragraph 2 when ordering auto payment). Users will have to make a transfer to this address.

To the button itself, you can add a Condition for displaying content that checks for the presence of the entered your user's wallet address - which will be used to identify the payment.
For example: {%wallet% != ""}
Where %wallet% is the macros of the variable specified by you in paragraph 4 when ordering auto payment.

The condition is necessary so that the user does not receive an address and cannot make a transfer before entering the address of his own wallet to identify the payment.

2.2 In the «Enter Your Wallet Address» button, create the «Variable Input» form. In the initial message of the form, ask the user to enter the address of the wallet from which he will pay (and which will be used to identify the payment).

Also, for the convenience of the user, in this message you can show the current, saved wallet address (possibly entered by the user earlier) - this will give him the opportunity to check which wallet was entered and not enter it again.

BE SURE to explain to your users that they cannot pay by withdrawing funds from exchanges and any other custodial systems - such payments will not be identified, because exchanges use their own wallets for withdrawal and they do not match the addresses to which users make transfers when depositing funds to exchanges. IN A LOT OF CASES, THEY DON'T THINK IT UP TO THIS - OURS DON'T. Good luck with this. 😁

The wallet address entered by the user can be checked (NOT REQUIRED). For this, the advanced functionality of forms is used.

The functionality of the «🧩Extensions» section: the entered data is checked for compliance with the Condition.

Conditions of Forms
To connect, go to your bot:
☞🔐Admin | 🧩Extensions | 📂Forms

TUTORIAL: For more information on how to check the wallet address for each of the networks, see the tutorial “Examples of conditions in Forms”.

• • •

Obviously, all this can be done more beautifully, but the manual is written for those who, without outside help, cannot create this functionality and they do not need additional difficulties when creating it. The rest, can create a Form in a way they need.

• • •

FOR REFERENCE: see how autopayment for TRON, TON, BSC networks is organized in our system.
To do this, go to your bot:
🔐Admin | 🧩Extensions | 🏦Your Wallets | 💳Top-up

❖ Error messages

FAILED❗️ 🆘 No user comment

This error appears if the user was not identified.

And so, once again: the user can be identified ONLY by the wallet address. If the wallet address in the TRANSACTION (in the blockchain) does not match the wallet address stored by him in the VARIABLE - the bot will show an error and nothing will be added to the Balance.

Reasons why the user was not identified:
1. The user did not set the wallet address at all.
2. The user set the wallet address AFTER he made the transaction.
3. The user made a transaction from crypto-exchange or other type of custodial wallet.

The most common reason is that users send transfers from exchanges or custodial wallets, so wallet addresses do not match.

To make sure that the wallet addresses does not match, you must:
1. Find the transaction on the blockchain using the TXID (hash) of the transaction (you can get it directly in the error message).
2. See the wallet address from which this transaction was actually sent.
3. Using the «/varget var_name user_id» command, you should see what wallet address your user has actually saved in his variable.
4. If these addresses do not match, you explain to the user everything that we have just explained to you here.

FAILED❗️ 🆘 Multiple users found

This error appears if SEVERAL accounts in your bot have specified the SAME wallet to identify their payment. The bot does not know which of them to credit.

Sometimes users indicate the addresses of crypto-exchanges from where those exchanges making withdrawals.
Sometimes users specify the same wallet for several of their accounts.

To correct the situation, find out from the user what address he indicated, where he got it and whether he used it for another account. Remove matching addresses in variables for all but one account.


❖ Additional Information

Withdrawals (semi-automatic)

If you have the functionality of automatic payment acceptance, you may need a button to make a Withdrawal of Funds.

For more information about working with the Withdraw Button, see the manual.

Automatic withdrawal of funds

The functionality of automatic withdrawal of funds is available for the TORN network payment system.

The functionality of a fully automatic withdrawal of funds is NOT provided to EVERYONE.

IMPORTANT: Do not attempt to negotiate the connection of Automatic Withdrawals until you fully understand how the Withdraw Button works in semi-automatic mode.

If you have fully understood how the withdrawal button works, you can contact the bot to try to connect auto-withdrawals.

IMPORTANT: for automatic payments to work on the TRON network, the “Private Key” of the wallet is required, this is the only way to access funds and make withdrawals on behalf of the system. For this reason, you will need to have a SEPARATE EMPTY WALLET with a separate private key.


Never connect automatic payments to your main wallet, which stores the main funds of your project.

GENERAL RULE: Never, under any circumstances, provide Private Keys and Seed Phrases from your main wallets to anyone. That is why we demand and once again emphasize - for automatic payments you will need to create a SEPARATE EMPTY wallet on which you will store insignificant amounts only for the purposes of automatic withdrawals.

The @MenuBuilderBot project will never ask for Private Keys from your main wallets. Whoever does this is a scammer.

That is, you start a separate wallet for withdrawals and replenish it as needed in small amounts. If you don't know how to get the Private Key of a new wallet, we can create such a wallet for you. In any case, the system SHOULD know the Private Key, so such a wallet cannot be considered a reliable storage and used for some other purpose, in this regard, it does not really matter who we or you will create it.

📞 Find out about the possibility of connecting the auto-withdrawal function: @MenuBuilderSupportBot