Auto Registration
The Auto Registration mode in Multogram: registering new Telegram accounts on numbers from SMS services or entered manually. SMS services, captcha, email confirmation, device and region, proxies, 2FA, timeouts, refunds for numbers and reasons for failures.
Where in the app
Access
Accounts
Restriction risk
You are responsible for how you use this mode
Creating accounts outside the normal registration procedure contradicts Telegram's terms. Telegram may ban the created accounts, numbers and addresses without warning. Multogram does not sell numbers, codes, mailboxes or proxies and does not guarantee the result of a registration: you get all of these from third parties and use them at your own risk. More in sections 5 and 6 of the license agreement.
Auto Registration creates new Telegram accounts: it rents a number from an SMS service (or takes one you entered), passes the captcha, confirms an email if needed, receives the SMS code, creates the account with a generated name, saves the session files and writes the account to the accounts database.
How the task works
When you create a task for Auto Registration, the window asks:
- Accounts to register — the task stops once this many accounts are created. Empty — it registers until you stop the task.
- Save to table — which table of the accounts database to write the new accounts to.
- Threads — how many registrations run at the same time.
Each thread makes one attempt at registration. A successful attempt adds an account; a failed one releases the number and names the reason — and the next attempt starts right away, until the goal is reached. Failures don't stop the task, except for setup errors that repeating won't fix: a wrong service key, an unsuitable country, an empty email list and so on.
Quick setup
SMS service: pick a service, paste the API key and choose the Country.
Proxies: leave Assign proxy on creation on and tick proxies in Proxy selection.
Email: choose the Email source — the easiest is Temp-mail service → Mail.tm (free, no key).
Sessions save folder — where to save the new accounts' files.
Start the task: set the number of accounts, the table and 1 thread for the first time.
The other settings default to Auto: device, language, time zone and names are matched to the number's country.
Phone number
| Parameter | Default | What it does |
|---|---|---|
| SMS service | HeroSMS | Where to get the number: HeroSMS, 5SIM, SMSPVA, Grizzly SMS, Vak SMS, SMSBower, Onlinesim, DogeSMS, SmsFast, Custom service (own requests) or Manual entry (during the run) |
| API key | — | The key from the SMS service's account |
| Country | Russia (+7) | The number's country. By default the account's language, time zone and names depend on it too. Custom country… — enter the country code the way the service writes it |
| Provider country code | — | For a Custom country: a numeric ID (HeroSMS, Grizzly, SMSBower, SmsFast), a name for 5SIM (usa), an ISO code (SMSPVA, DogeSMS, Vak SMS) or a phone code (Onlinesim) |
Manual entry. No service or key needed: during the task the application asks you to enter a number, and then the SMS code. Suitable for registering an account on your own number.
Custom service. For an SMS service that isn't on the list, you set up HTTP requests: Request: rent a
number, Path to the phone number, Path to the activation id, Request: read the code, Path to the code,
Request: release the number, Request: close the order. The requests can use
[[smsActivationId]] and [[smsPhone]]. If the path to the code is left empty, the first number
of 5–6 digits in the response is taken.
Captcha
Telegram may ask for a captcha when the code is sent. Captcha service:
- Built-in solver — solves the captcha by itself, nothing to set up;
- NextCaptcha — through the NextCaptcha service, needs a NextCaptcha API key.
Email verification
Sometimes Telegram asks to confirm an email instead of an SMS or before it.
| Parameter | Default | What it does |
|---|---|---|
| Use email confirmation | On | Off — a number for which Telegram requires an email is released without registration |
| Email source | Temp-mail service | Temp-mail service, My own emails or Manual entry |
Temp-mail service:
| Service | What it needs |
|---|---|
| Qeex, AnyMessage — paid | A Service API key and Email domains — which domains to issue addresses on (gmx, outlook, hotmail and others, or Custom domains…) |
| Temp Mail — free | A Service API key |
| Mail.tm — free | Nothing — works without a key |
| Custom service | Requests for getting an address and reading the code, like a custom SMS service; [[emailAddress]] and [[emailToken]] are available |
My own emails — a list of email:password, one per line. Each registration takes the
next email from the list, and the code is read over IMAP: IMAP host (imap.firstmail.ltd by default),
IMAP port (993), Use SSL/TLS. You need the mailbox password or an app password.
Manual entry — the application asks you to enter the address, and then the code from the email.
Device and region
| Parameter | Default | What it does |
|---|---|---|
| Device | Random | Which phones the accounts present themselves as. Pick several models and each account gets a random one of them; the list shows each model's Android version (up to Android 17). Random — any device takes any model of the catalog and, picked together with others, overrides them. Custom devices… adds the models of your own list to the draw. At least one value is always selected |
| Custom devices (one per line) | 3 examples | The Model|SDK format, for example Google Pixel 4|SDK34. Every line joins the draw as a device of its own |
| Interface language | Auto | The phone's language. Auto — the main language of the number's country |
| Timezone | Auto | Auto — the time zone of the number's country |
| App version | Auto | The Telegram for Android version the account presents itself with. Auto — the latest tested one |
| Datacenter (DC) | Auto | The starting Telegram server. A fixed DC is needed only for debugging |
| Country (name locale) | Auto | Which language to generate the first and last name in. Auto — by the number's country |
| Gender | Random | Random, Male or Female |
The defaults are the best choice: every account gets a real device of its own, and the language, time zone and name agree with the number's country, as for a real user.
Proxies
Assign proxy on creation (on by default) and Proxy selection — proxies from your database. Each attempt takes a random one of the ticked proxies, and the registration goes through it. This proxy is saved on the new account.
Without proxies every registration goes from your IP — for a series that means almost guaranteed bans.
Additional options
| Parameter | What it does |
|---|---|
| Set avatar + Avatar image file | Set a profile photo right after registration |
| Set 2FA password + 2FA password pattern | Set a cloud password when the account is created. The password is saved in the 2FA password column |
| Sessions save folder | Where to save the new account's .session and .json. Created if it doesn't exist |
2FA password pattern — the tokens <UpperLetter>, <LowerLetter>, <Letter>, <Digit>, <Number>,
<Symbol> (one of !@#$%^&*-_=+), <Hex>; any other text goes into the password as is. Variants
{a|b} don't work here. A pattern without tokens gives a password of 10 random characters.
Timeouts, retries and pauses
The Configure timeouts button. The default values suit most services.
| Parameter | Default | What it means |
|---|---|---|
| Wait for the SMS code | 300 s | How long to wait for the code. Too little — a slow country won't make it; too much — a dead number holds the thread |
| Attempts to rent a number | 10 | How many times to try if no numbers are in stock |
| Pause between those attempts | 20 s | Services have a requests-per-minute limit |
| Cooldown before releasing a number | 125 s | Services don't refund in the first ~2 minutes. The release runs as a separate job and doesn't hold up registrations |
| API endpoint override | — | For a service that moved to a mirror |
| Balance check while waiting for money | 30 s | How often to check the balance when the money has run out |
| Wait for the email code | 180 s | How long to wait for the email from Telegram |
| Challenges answered per attempt | 2 | How many times to solve the captcha for one code send |
| Ceiling on one solve | 150 s | How long to wait for one captcha to be solved |
| Pause after a registered account | 10–45 s | A random pause after a success, so the series doesn't run like a metronome. After a failure the next attempt starts right away |
How a registration goes
The log shows every stage:
- "Taking a number: service, country (balance: …)" → "Took number: +…". If there are no numbers — "No numbers … waiting for some to appear". If the money has run out — "Insufficient balance … waiting for funds": the task doesn't stop and continues when the balance grows.
- Captcha — "Solving the captcha" → "Captcha passed" or "No captcha required".
- Email, if Telegram requires it: "Taking an email: …" → "Waiting for the confirmation code by email" → "Got the code".
- SMS code: "Waiting for the SMS code" → "Got the SMS code".
- Creating the account: "Creating account: First Last" → "Account registered: +…" with the progress.
- Saving: the
.sessionand.jsonfiles go to the sessions folder, the row goes to the selected database table. The order at the SMS service is closed as used. - Pause before the next registration. When the goal is reached — "Goal reached — no new registrations".
The new account appears in the database with the Unchecked status, with a name, country, 2FA password (if enabled) and the proxy it registered through.
Refunds for numbers
If a registration failed, the number is released at the SMS service as a separate job after the Cooldown before releasing a number — the money goes back to the service balance. In the log: "Number … will be released … in … s" and then "Number … released — money refunded".
- If an SMS has already arrived on the number, it can't be released — the service considers the number used.
- Some services have no release: the number expires by itself, and the money comes back by the service's rules.
Don't close the application right after stopping
Numbers are released as separate jobs a couple of minutes after a failure. If you close the application right away, some numbers won't be released and the money for them won't come back automatically.
Why a registration failed
The reason is written after "Registration failed:".
| Reason | What to do |
|---|---|
| No numbers in stock / Could not get a number | Pick another country or service, increase Attempts to rent a number |
| The SMS code didn't arrive in time | Common with cheap numbers. The money comes back after the release; if it happens often, change the country or service |
| The number is banned in Telegram / Telegram considers the number invalid | The number is "burnt" — the next attempt takes another one |
| Too many code requests for this number | The number has been used many times — the next one is taken |
| The number is already registered in Telegram | The mode creates only new accounts; the number is released |
| The number belongs to an account with a cloud password | Same — the number isn't new |
| Telegram requires paid registration | Telegram asks for payment to register this number — the number is released |
| Telegram requires email confirmation, but it is off | Turn on Use email confirmation |
| Telegram doesn't accept this email domain | Choose other domains or another email service |
| The email code didn't arrive in time | Increase Wait for the email code or change the email service |
| Captcha not solved / not passed | Check the NextCaptcha key or switch to the built-in solver; change the proxy |
| Could not connect to Telegram (check the proxy) | The proxy doesn't work — check it on the Proxies tab |
| Telegram rate limit | Too many attempts — reduce the threads, increase the pause |
The whole task stops if: the SMS service rejected the API key, the service doesn't sell numbers of the selected country or no country is selected, there is no NextCaptcha key or no money on it, your own email list is empty or there is no password for IMAP, the sessions folder could not be created. The log shows "Stopping the task: reason" — fix the setting and start again.
Recommendations
- First run — one thread and 1–2 accounts. Check the key, proxies, email and folder without spending dozens of numbers on one mistake.
- Quality beats quantity. Success is decided by numbers and proxies: cheap numbers of mass-market countries are often "burnt", and Telegram doesn't like server proxies. Mobile and residential proxies give noticeably better results.
- Everything on Auto. Device, language, time zone and name matching the number's country — a +7 number with the English language and the New York time zone looks implausible.
- Few threads. Several registrations at once from neighboring IPs are more dangerous than a slow series.
- A separate table for fresh accounts — this makes them easy to tell apart and keeps them off mailings at first.
- Warmup. A fresh account is very fragile: the first days — only calm activity, no mailings or inviting.
Common questions
How many accounts are created per run?
As many as set in Accounts to register. An empty field — registration goes on until you stop the task.
Will I get the money back for a failed registration?
Yes, if no SMS arrived on the number: the number is released after a couple of minutes, and the service refunds the money. If the code has already arrived, the number counts as used.
What happens if the money on the SMS service runs out?
The task doesn't stop: it waits until the balance grows — from refunds for released numbers or a top-up — and continues.
Can I register an account on my own number?
Yes: SMS service → Manual entry (during the run). The application asks for the number, and then the code.
Which email service should I choose?
To start — Mail.tm: free and without a key. If Telegram rejects its domains, use the paid Qeex or AnyMessage with domains of large email providers.
Where do I find the created accounts?
On the Accounts tab, in the table chosen when creating the task, and in the Sessions save folder.
Why does a new account have the "Unchecked" status?
Every new account is marked this way. Run the Check accounts mass action — the status becomes Active.
Updated
Modes overview
Every Multogram automation mode in one table: what each mode does, which plan it is in, whether it needs accounts and how the work is split. How to choose a mode for the job and the general rules all modes follow.
Converter
The Converter mode in Multogram: batch conversion of Telegram accounts between any formats — Telethon and Pyrogram .session files, tdata folders (Telegram Desktop), Android data and string sessions — without signing in to the accounts. Accounts of the database, files or whole folders, automatic format detection, and the .json that keeps the account's client.