How It Works
Last updated
Last updated
When you sign up for Slate, we automatically create for you a Slate Wallet with its own wallet address. This wallet is linked to the private passcode you create during the sign-up process.
After signing up for Slate, you should:
Immediately export your Slate Wallet's private key from the Settings tab.
Import this key into your preferred wallet provider (e.g., MetaMask or Rabby).
Benefits:
Use your Slate Wallet as a standard Externally Owned Account (EOA).
Easily interact with unsupported applications and other dApps directly (i.e., connecting your Slate Wallet directly to GMX via their Connect Wallet button on their UI).
Simplify wallet funding and transfers through your chosen wallet interface.
Doing this enhances the flexibility and usability of your Slate Wallet.
It is crucial that you remember your Privy passcode. This code acts as a recovery and identification key for your embedded wallet. If you lose this code, it will be IMPOSSIBLE to recover your embedded wallet and the assets within.
It's best to think of your Slate Wallet as your "execution wallet." This wallet is what Slate uses to execute your requested on-chain operations on your behalf. All of the "from" addresses for your transactions will be the address of your Slate Wallet.
Make sure that you fund your wallet with the appropriate tokens and on the appropriate chain before you attempt to execute your prompt.
Slate allows you to remain full self-custody of your funds AND execute condition-based prompts (that can't be done anywhere else) like the following:
"long doge with 100 usdc on gmx on arbitrum when funding rate goes above -0.13%"
"buy usdc with 0.5 eth on arbitrum when eth price goes above $3700"
"stake 2.5 eth on lido on ethereum next friday at 5pm utc"
"swap 1000 $magic for $eth when $magic market cap falls below $50M"
"when gas is sub 40, bridge 0.5 eth worth of dai from ethereum to arbitrum"
etc.
That said, Slate requires you to do the following to execute your conditional prompts while AFK:
Keep your Slate browser tab open.
Prevent your laptop/desktop from entering sleep mode (black screen).
Set your device's "Turn display off on battery when inactive" (or equivalent) setting to "never."
Download the Slate Progressive Web App (PWA) on your mobile device.
Log in with your Slate account.
Keep the Slate PWA running in the background.
This method eliminates the need to keep your desktop open and running.
By following these steps for either desktop or mobile, you'll be ready to execute your conditional prompts as intended.
Because your Slate Wallet is your execution wallet, it needs to be properly funded with the appropriate tokens on the appropriate chain prior to executing your prompt.
To do so, just go to the funds sidenav, click Connected Wallet and click on the token you want to transfer to move it over to your Slate Wallet.
Your Slate Wallet is responsible for covering gas costs.
Make sure your wallet has sufficient funds to carry out your desired operations by transferring the necessary native tokens on the appropriate chain to your Slate Wallet.
Slate uses Privy's embedded wallet architecture. This allows for your Slate Wallet to be fully self-custodial while allowing Slate to execute prompts on your behalf. For comprehensive details on this, read more here. Below, we will walk you through the basics.
Shamir’s Secret Sharing is used to split your Slate Wallet's private key into three distinct shares and reassemble them when it comes time to execute your prompt.
These are the three shares your private key are split into:
Device Share: Stored securely in your browser’s local storage and is retrieved when the Slate browser tab is opened.
Auth Share: Stored on Privy’s server and is retrieved when you authenticate (i.e., sign the message in your wallet, log in with socials, etc.) and log into the Slate application.
Recovery Share: Stored encrypted on Privy's server and is decrypted and retrieved only when you've entered your password to log into the Slate application.
Importantly, neither Privy nor Slate store the password which unlocks your Recovery Share, meaning neither they nor we can decrypt the Recovery Share on our own. This ensures that if either Privy or Slate's systems were compromised, the attacker would be unable to access your Recovery Share because the decryption key (your password) is not within Privy nor Slate’s purview.
To reconstruct the private key, at least two of the three shares are needed. When prompts are executed on your behalf, Privy/Slate will securely reconstruct your Slate Wallet's private key (meaning neither system will see the reconstructed private key) using your Device Share and Auth Share.
In practice, this means neither Privy nor Slate can perform transactions on behalf of your Slate Wallet unless you've authenticated, entered your password and have your Slate application browser tab open (hence the requirements for executing conditional prompts above).
This ensures that the private key itself is never fully exposed nor stored in one place, maintaining a non-custodial system while allowing Slate to still execute prompts for you at the point of execution.
The system that holds your Device Share in your browser's local storage naturally expires after some time to maintain security (think: similar to how Google randomly logs you out of your account after a while and prompts you to re-enter your password to log in again).
You may wonder: "what happens to the Device Share when this happens or my browser's local storage gets cleared by some other means?"
When you log in, Privy will use your Auth Share and Recovery Share to re-create Device Share and you'll be good to go with the necessary three shares.
This is also what happens when you log into Slate from a different device (like a different computer, browser, phone, etc.) using the same password to access the same Slate Wallet.
To use Slate, you must connect an external wallet to the dApp.
Once connected, you can use this connected wallet to easily fund the Slate Wallet through Slate's UI.
Once you're on the Slate UI, you're able to switch your connected wallet by simply switching wallets in your wallet provider (i.e., MM or Rabby).
After switching to a new connected wallet, you may use this new wallet to log into Slate moving forward.