Hello from vault713
Invoicing, batching, and cold storage in Grin
We are vault713, we make it easy for businesses and individuals to store, send, and swap Grin. We are strong believers in the right to privacy, open source, and in the potential of Grin.
Our goal is to improve the usability of Grin and strengthen wider protocol adoption by developing products that cater to common use-cases of businesses and individuals. In this first blog post we cover what we have developed so far and some stuff that is coming up.
What’s new in wallet713
wallet713 is an open source Grin wallet implementation written in Rust that makes it easier to send and store Grin securely. It integrates with Grinbox to allow users to have their own public address with which they can securely and anonymously transact with other wallet713 users, even if those are offline. We are also working on implementing Atomic Swaps, which will allow users to securely trade BTC to Grins and vice versa. Coming soon™.
Since our public release two weeks ago, we’ve been busy making improvements and adding functionality, here are some of those:
- Invoicing. An often discussed and requested feature for Grin, wallet713 now supports reverse transaction building, where a recipient can initiate a transaction through raising a payment request for a specific amount and send this to the intended sender. The sender then completes and returns the transaction to the recipient who finalizes and broadcasts it to the network. This simplifies the flow for online payments significantly, as merchants can now raise payments directly through their services and the customer no longer needs to broadcast the transaction to the chain, improving their privacy.
- UTXO splitting. While you engage in transaction building in Grin, by necessity you lock up the UTXOs that are involved in the transaction. wallet713 now allows you to divide your outputs into smaller pieces via a splitting transaction. You can also as part of an invoice request specify the amount of outputs you wish to receive. Splitting outputs can help improve your forward privacy for future transactions, while at the same time make it easier to transact with multiple parties simultaneously.
- Keybase support. We added integration with Keybase, to allow you to transact via Keybase accounts, fully end-to-end encrypted. Our implementation is compatible with the existing Keybase plug-in for the default Grin wallet, enabling transactions between it and wallet713. Our implementation also allows for asynchronous message delivery, so you can send transactions to contacts even if they are offline.
- Contacts. Rather than having to remember Keybase and Grinbox addresses, you can now store these in your local address book, and transact with given nicknames that you assign to the parties you transact with. A transaction becomes as easy as
send 10 — to @alice. This information is stored locally in your wallet and never leaves your device.
- Locking and unlocking. You’re now able to lock and unlock your wallet with a password to protect against unauthorized use.
What else we’ve been working on
- Lately we’ve been thinking a lot about how to support a large volume of transactions at scale. In particular how to properly handle 1-to-many transactions efficiently, payment batching, and how to avoid having to lock your inputs in the process. We’re working on realizing this through a merchant grade version of the wallet that will be revealed soon™.
- We’re also considering a method that enables cold storage of Grin, allowing for significantly improved asset custodianship and security.
If you are interested in using either of these products, contact us directly at firstname.lastname@example.org.
Grin might be a few weeks away from mainnet launching, but we’re already preparing to solve the problems we expect businesses and individuals alike will be faced with when it comes to making practical use of the technology. For more updates — stay tuned, and be sure to press the follow button below.