Dusk Mainnet On-Ramp
Welcome to the official guide for interacting with the Dusk Mainnet On-Ramp smart contract through Etherscan and BSCscan. This guide explains how to deposit and stake ERC20/BEP20 DUSK tokens to be included in the Dusk mainnet genesis block. This guide is for advanced crypto users and professional node operators. Providing the wrong address can lead to a loss of funds!
Depositing versus staking
there are two primary ways to interact with the on-ramp:
- Deposit: Depositing ensures your funds are available at the start of mainnet, but do not contribute to consensus or earn rewards. This is explained in Step 3.
- Stake: Participate in staking at the start of mainnet but requires active participation as a node operator. This is explained in Step 4.
Recommendation: It is recommended to perform both a deposit and stake transaction if you want to stake at genesis. If you only stake, you will not have funds available for essential network transactions like reward withdrawals or transfers. It is still possible to migrate DUSK through our mainnet migration bridge afterwards. For example scenarios, see this FAQ question.
What You’ll Need
- ERC20/BEP20 DUSK tokens in a supported wallet.
- A Web3 wallet, like MetaMask.
- Your Dusk Mainnet Target Address: This is your unique Dusk public account address used for native DUSK issuance.
- Access to Etherscan/BSCscan: We’ll interact with the contracts directly through their verified pages.
Considerations
- No Refunds: Tokens cannot be retrieved once deposited or staked. This is a one-way operation.
- Minimum Requirements: Ensure you meet minimum amounts before interacting, 1 LUX (in wei, 1 LUX = 10^9 wei, 1 DUSK = 10^18 wei) for depositing, 1000 DUSK for staking.
- Correct Address: Double-check your public account address before submitting! If you provide the wrong one, your funds could be lost!
DUSK-to-wei calculator
To avoid miscalculations when entering values in wei, use the built-in DUSK-to-wei Converter below:
Address Verifier
Use this tool to verify that your Dusk public account address meets both requirements:
- Correct Length: 131 or 132 characters
- Base58 Validity: Contains only valid Base58 characters
If your address passes verification, it is reasonably like it’s a valid targetAddress
.
Interacting with the Contract
Step 1: Generate a Dusk Wallet
- Use the Rusk Wallet to generate a mnemonic and create your Dusk wallet.
- Store your mnemonic securely.
- Copy the Public Account address from the wallet and use it as the
targetAddress
.
Step 2: Approve the Contract to Use Your DUSK Tokens
Before depositing or staking, you must allow the on-ramp contract to spend your DUSK tokens:
- Visit the ERC20 DUSK Token Contract on Etherscan.
- Expand the
approve
function. - Spender:
0x8787BbE53920B33411F7C9A91Ac321AF1ea1aa2d
- Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Click “Write” and confirm the transaction in your wallet.
- Visit the BEP20 DUSK Token Contract on BSCscan.
- Expand the
approve
function. - Spender:
0x3886ab688febff60ce21e99251035f8e29abca31
- Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Click “Write” and confirm the transaction in your wallet.
Step 3: Deposit ERC20/BEP20 DUSK
Use the deposit
function to on-ramp DUSK tokens for inclusion in the Dusk genesis state.
- Visit the ERC20 Dusk On-Ramp Contract.
- Expand the
deposit
function. - Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Minimum: 1 LUX (1,000,000,000 wei).
- Target Address: Enter your Dusk mainnet public account address. You can verify if it’s a valid address with the Address Verifier.
- Click “Write” and confirm the transaction.
- Visit the BEP20 Dusk On-Ramp Contract.
- Expand the
deposit
function. - Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Minimum: 1 LUX (1,000,000,000 wei).
- Target Address: Enter your Dusk mainnet public account address. You can verify if it’s a valid address with the Address Verifier.
- Click “Write” and confirm the transaction.
Step 4: Stake ERC20/BEP20 DUSK
Use the stake
function if you want to participate in genesis staking.
- Visit the ERC20 Dusk On-Ramp Contract.
- Expand the
stake
function. - Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Minimum: 1000 DUSK (1,000,000,000,000,000,000,000 wei).
- Target Address: Enter your Dusk mainnet public account address. You can verify if it’s a valid address with the Address Verifier.
- Click “Write” and confirm the transaction.
- Visit the BEP20 Dusk On-Ramp Contract.
- Expand the
stake
function. - Amount: Enter the number of tokens in wei. Use the DUSK-to-wei Calculator above if needed.
- Minimum: 1000 DUSK (1,000,000,000,000,000,000,000 wei).
- Target Address: Enter your Dusk mainnet public account address. You can verify if it’s a valid address with the Address Verifier.
- Click “Write” and confirm the transaction.
Checking Transactions and Balances
After depositing or staking, verify your transaction status on Etherscan/BSCscan through your wallet.
FAQ
What happens after depositing or staking?
Your tokens will be on-ramped on Dusk mainnet, and a corresponding genesis balance will be issued on the Dusk mainnet on January 7th, 2025.
What if I miss the deadlines?
You will not be able to participate in the genesis state of Dusk.
Can I deposit/stake multiple times?
Yes, but each transaction must meet the minimum amounts.
Can you describe a couple scenarios?
-
User Pippo: He sends 10,000 DUSK to the Mainnet Onramp contract using the
stake
method. As of Genesis on the 29th, he holds a 10,000 DUSK stake, and his node begins participating in consensus. By January 7, he starts accruing rewards. Pippo did not do adeposit
and will have to bridge DUSK through our mainnet migration bridge, or receive DUSK from a friend, to transfer DUSK and withdraw staking rewards. -
User Pluto: He sends 10,000 DUSK to the Mainnet Onramp contract using the
stake
method. As of Genesis on the 29th, he holds a 10,000 DUSK stake, but since he does not run a node, he never participates in consensus. His 10,000 DUSK is removed from the active stakes and credited back as a deposit on January 3. By January 7, he holds his original deposit but no active stake. At that point, he can choose to run a node by re-staking and waiting through the two-epoch maturity period. -
User Paperino: He sends 900 DUSK to the Mainnet Onramp contract using the deposit method. His deposit is recorded at Genesis and available from that point on (on December 29th, on January 3rd and on January 7th).
-
User Topolino: He does not send any DUSK to the Mainnet Onramp contract by January 2. He can only move his funds onto Mainnet after January 7, and must use the mainnet migration bridge to do so.