Introducing: App Wallet
A hosted wallet for developers to execute programmatic transactions.
Building great software is often about using the right tool for the job. We expect that most products using a blockchain will be hybrid products; consisting of centralized and decentralized components.
Unfortunately, it’s currently pretty difficult to bridge off-chain events to the blockchain. It requires additional backend work and distracts developers from focusing on their primary product. After interviewing over 100 developers, it became clear a solution was needed. So we built App Wallet.
What is App Wallet?
App Wallet is a wallet for backend applications to execute programmatic transactions. It’s built with the same unique hardware-secured private key storage solution that the Bitski Wallet offers; but dedicated specifically for backend apps.
How App Wallet Works
Using the Bitski backend SDK, your app can submit transactions via a standard web3 API from a wallet that belongs to your backend. The Bitski vault performs security checks and then signs the transaction using our HSMs.
For example, if you’re a game or marketplace that’s selling digital goods, you may want to make it easy for people who are new to crypto to make purchases. Using app wallet, you can allow users to purchase NFTs via in-app purchase, Stripe, Paypal, or any other off-chain payment method.
Here’s how an off-chain payment method with NFT delivery would work:
- User completes a Stripe/IAP/Paypal transaction in order to receive an NFT.
- Once approved, you would then either transfer an existing token or mint a new token to the wallet associated with the user by creating a transaction and submitting it with our Web3 provider.
- The provider uses your app’s credentials to request an access token, then submits the transaction to our RPC endpoint along with the token.
- When the transaction is received, we verify the token and if it is valid, the transaction is signed by our HSM vault and submitted to the network. Just like a normal transaction, you can use Web3 to verify the transaction status and check for confirmations.
With this flow, your users will be able to buy NFTs without requiring eth — allowing you to provide a decentralized experience that is secure and seamless.
What Else Can App Wallet Do?
App Wallet is a very powerful tool that has the potential to scale very unique experiences, and we’ve only scratched the surface for use cases. Here’s a few ways we think developers might want to use it:
- You want to sell (or give) an asset to a user without them needing to initiate a transaction or pay for gas. This is similar to our Stripe example above.
- You want to deploy a contract (via Truffle or manually) without using a locally configured wallet. Because App Wallet is accessible across computers and teams, anyone can securely deploy a contract.
- You want to send payments without requiring the trust of the other party (i.e. removing the middleman), so you need a way to sign transactions somehow. Using App Wallet would make it easy to initiate the programmatic transactions from your servers while knowing your key is secure.
- You want to programmatically distribute assets to your users from a wallet secured in hardware. For example, sending a unique reward when a user unlocks a new level in your app.
Start Using App Wallet Today 🎉
App Wallet is now in open beta. We’re continuously working with our partners to discover clever ways App Wallet can help and improve user experience. Try it out and let us know how you’d like to use it, and what we can do better!
Read more: App Wallet Documentation