EOS Account Creator now supports Smart Contract Account Creation
EOS Account Creator is proud to present the first open source smart contract account creation service. Up to now, there has not been a completely trustless way to create a new EOS account. As discussed in earlier articles, you would have to enlist the help of a friend who already has an EOS account or use a third-party website.
Of course, if you want to buy your EOS account with credit card or other cryptocurrency, an account creation service like EOS Account Creator is still your best choice.
If you already have EOS on an exchange, but you don't have an EOS account of your own yet, our new smart contract is your best and cheapest option.
How to use the smart contract?
It's very simple. You just transfer EOS to the account of the smart contract. The contract does all the rest for you. Here is a step by step guide:
- Choose an account name that is still available. EOS Account names must be exactly 12 characters long and consist of lower case characters and digits up until 5. You can check if it's still available by searching for it on a site like EOSPark.
- Create your public/private key pairs using a tool you trust. Preferably using an offline key generator. I recommend you use SimplEOS, GREYMASS, or Scatter. Remember to write down and store your private keys safely! Never reveal your private keys to anyone and never enter it on a website. Always use Scatter to login into Dapps.
- Send an EOS transfer of at least 3 EOS to
accountcreatwith a memo in the following format:
This also works when withdrawing from exchanges. Any exchange should work that allows you to set a custom memo. Some exchange like Binance don't allow you to use long memos. In this case, you can just send the owner public key like this
account_name-owner_public_key. For example, if your account name is
mynewaccount, your owner key is
and your active key is
EOS8WcL1CroNrXfdphkohCmea1Jgp7TpqQXrkpcF1gETweeSnphmJ, the memo string would be:
- You can lean back and relax as the smart contract takes care of all the rest.
Every exchange is a little bit different, but every exchange should work that allows you to withdraw to your account name while using a memo. In the following example, we are using Binance.
- Log in to Binance
- From the top navigation bar, select Funds->Withdrawals
- In the upcoming list, select EOS
- In the upcoming withdrawals form (see screenshot below), enter
accountcreatinto the field "EOS Withdrawal Address", the memo goes into the Field "EOS Withdrawal MEMO". Use any amount you wish to withdraw into your new account but at least 3 EOS.
It's vitally important that you don't forget to set a memo. Otherwise the contract cannot perform its work. If you need help constructing the memo, follow the steps on EOS Account Creator, it will guide you through the process.
How does it work?
When you withdraw your EOS to the accountcreat smart contract, it will perform the following steps in order:
- Create a new account using your specified name, owner key and active key
- Buy 4KB of RAM for your new account with parts of the transferred EOS. Every account that is created on the EOS network needs 4 KB of RAM to exist.
- Delegate and transfer 0.1 EOS for CPU and 0.1 EOS for NET.
- Deduct our fee of 0.5% or a minimum of 0.1 EOS and forward the remaining EOS balance to your new account.
Should any of the above actions fail, the transaction will be rolled back which
means the money will automatically be refunded to you. You might need to contact your exchange to cancel the withdrawal in that case.
Call to the EOS Community
It would be great if some people from the community or from Block Producers could peer-review the smart contract to make sure it does not contain any bugs and it can be trusted. It's important for the community to have peer-reviewed, trusted, account creation smart contract code. Quick note to anyone wanting to verify the deployment (as there is no such things as etherscan yet, where you can upload and verify the code): The code currently deployed on accountcreat is compiled with -Oz to save RAM.
If you want to use this code or need help modifying it to your needs, please contact me at: [email protected]