You'll need an exchange with WAX(WAXP) listed, that has the ability to add a memo when withdrawing from the exchange. A Wallet for your account, and a keypair.
The Smart Contract used in this article was deployed on WAX 4 years ago, so it's not something new. However it's still rather unknown. It was deployed by one of the retired WAX Guilds, Maltablocksbp.
TLDR & Links
Create Your Self Managed Account
To use your Self Managed Account, you will need a wallet to store your keys.
The Transaction & memo Syntax
To create an Account on the WAX Blockchain using the signupwaxwax contract, all you need to do is transfer a minimum of 5 WAXP with the correct memo from any account(or exchange). If you transfer more than 5 WAXP, the rest will be used to buy ram for your account.
Memo Syntax: AccountName-PublicKey
Legacy Format Public Key: EOS....
AccountName: EXACTLY 12 characters.
Only use [a-z] and/or [1-5], Lower cap.
Make sure the Account Name you want is not already in use, you can search and look at waxblock.io.
On WAX, you can have account names that are shorter than 12 characters. But that require a premium name, which are auctioned on chain.
Let's assume you want to create the account: anyoacademy2, using Binance and you have your PublicKey: EOS8asWEdeny5D8s81u6WbMVLs5E4TSdxTSZ8ZssbGvxCqbQcUq1w
Just combine those two with a dash between, starting with the account.
WAX valid Key formats
You have the Legacy format, where the public key starts with EOS...
And then you have the K1 format where the public key starts with PUB_K1_.....
Both are valid options for your public key on WAX. But in this smart contract, you have to use the legacy format!
The Actual Account Creation Costs
The actual cost for creating my account in the example above was 0.035 WAXP, which is the actual Fee for buying RAM. The rest is actually used in the account. With that said, the used ram in an account is something you are not able to sell, which is 3.4kb / 18.27kb. Making it ~18% of the bought ram. Totalling 1.3 WAXP in RAM cost, plus the fees. The contract also staked 1 wax for CPU/NET. Which means the actual minimum transaction to the contract at this time of writing was ~2.5 WAXP. But I would recommend sending at least 5, to ensure the transaction doesn't fail. Plus since exchanges add a withdrawal fee (2 WAXP on binance), it make sense to put in a bit extra.
For todays market value, that makes my spent WAXP ~$0.46 (8 WAXP * $0.05837).
The actual cost: ~2.5WAXP ($0.145) creation + 2 WAXP($0.116) withdrawal fee = $0.26 for my new account.
I did confirm the need for Legacy Public Key to use this Smart Contract, so make sure you use that type of Public Key. The same Private Key can actually be used to generate both types.
One very positive aspect of this Smart Contract is that any extra WAXP sent is used to buy RAM for your new account, that puts the cost of creating the account as cheap as it's possible. You need RAM to store table entries for Tokens and some NFTs (Automagic blockchain process). And the excess RAM can be sold back to WAX later if no longer required.
Now you have a new account on the WAX Blockchain.