Tl;dr: you sign an offline transaction to stake with Bancor and stakingpool.space will send the transaction when pool space opens up
With Ethereum it is possible to schedule transactions, but as far as I know it's not possible to schedule a transactions to broadcast whenever space opens up on Bancor in a desired pool. So I built the functionality to do this myself and offer it to you free of charge.
The idea is simple, you sign an offline transaction using your private key. Singing with your private key will be done with another tool than stakingpool.space, so stakingpool.space will never have access to your private key. You then give this signed transaction to stakingpool.space and your transaction will be broadcast whenever enough space opens up for your stake.
Keep in mind that other people might also be trying to stake similar or smaller amount. When space opens up, all signed transactions that are trying to stake amounts smaller than the space opened up, will all be sent at once. So make sure you use a high gas fee.
If someone else used a higher gas fee they will likely get their transaction in first and there might not be enough space left in the Bancor pool to stake your amount. In this case your transaction will be rejected, you will lose out on the gas that was spent for your transaction and you will have to try again.
You can see the amount of signed transactions waiting for each token pool, so you can decide if you want to add your transaction. And lastly, stakingpool.space has no access to the gas price you are using (this is encrypted into the signed transaction using your private key and will need your private key to decrypt, which stakingpool.space does not ask for), so no front running can happen.
I will try to work on a first in-first out queueing system in the future. This would allow the oldest transaction, smaller than the space that opened up, to be sent while the second-oldest transaction has to wait until the transaction is finished. This should bring down the gas price needed to stake, but is quite complex to build.
If any of the steps below are unclear or not working, contact me at email@example.com
As long as you have an open auto-stake on stakingpool.space, you can not send any other transactions from that address, otherwise you'll overwrite the nonce that is being used. The way nonces work is also the reason why you can only open one auto-stake postion per address on stakingpool.space.
No, you sign your transaction using your private key with another tool such as MyCrypto.Why can I only auto-stake one transaction?
This is because of nonces . If you would have multiple transactions waiting, the code would also have to check the nonces of all your transactions when space opens up to see if it can send the transaction with the lowest nonce, which would make the code slower.Can I still send transactions from the address I used for auto-staking?
Technically yes, however you will overwrite the nonce that is used for your signed transaction to auto-stake. If this happens and your auto-stake transactions is sent when space opens up in the pool, it will automatically be rejected and you lose the gas fee.
stakingpool.space is not responsible in any way or form for any loss of funds or incorrect usage of auto-staking. Auto-staking is an experimental feature to illustrate a new functionality and the responsibility of correct usage is entirely upon the user (meaning you).
After connecting your wallet to stakingpool.space your wallet address will be stored in the database for 24 hours to store your security token. Your security token and wallet address are removed automatically after 24 hours. If you want to use the auto-stake functionality again after 24 hours, you will have to sign a new security token.
Your wallet address is also stored in the database as long as you have an auto-stake position open. As soon as the transaction is sent (when pool space opens up) the transaction containing your wallet addres is automatically removed from the database.