Pine Street Labs + Umee: Introducing Nebula

Pine Street Labs + Umee: Introducing Nebula

We’re excited to announce our collaboration with the Umee Foundation on creating Nebula, an open source wallet library for the Cosmos Ecosystem. In this post we will explain why we built Nebula, the problem it is solving, and who will find this product useful.

TLDR

  • Nebula is an open source wallet library with a command line interface that provides correct abstractions to make supporting send and receive easy for Cosmos app-chains as well as supporting additional transactions on the Umee Network specifically
  • Nebula makes it easy for exchanges, custodians, developers, and network participants to leverage the full breadth of transaction types available on Umee by making it simple to support send and receive, staking, managing accounts, remote signing, Umee leverage transactions, creating a multi-sig account, and connecting Nebula to Umee nodes.

About Pine Street Labs

Pine Street Labs builds secure and scalable enterprise wallet software for a multichain world. We help our enterprise clients handle the right abstractions so they can focus on building their core business. Our software is chain-agnostic, complies with any custody scheme, and provides support for complex onchain functionality including settlement, staking, and smart contract interaction.

The Current State of Cosmos and Custody

Cosmos is one of the most vibrant ecosystems in crypto with many high quality app-chains coming to market in the next 3-12 months. Each app-chain is defined by a series of modules. Modules implement the query and message capability of the chain. Messages are composed into transactions and finalized by each new block to the chain.

With Nebula, we set out to build a wallet library that makes sane abstractions such that adding send and receive support for new Cosmos app-chains is simple and easy, similar in lift for an exchange or custodian to add support for a new ERC-20 contract. Without this tool, exchanges, custodians, network participants, and developers would need to all independently create custom wallet software in-house to achieve this. This would result in significant delays in adding support for new Cosmos app-chains at the enterprise level and we set out to build a product to avoid that scenario.

Nebula

Nebula is a wallet library for Cosmos and is designed to support any app-chain by relying on module interfaces to handle message implementations. Signing messages is done offline by delivering a payload to your HSM or key management software. This software makes it easy for custodians, exchanges, and engineers to build wallet applications on top of the Cosmos network.

$ export ACCOUNT=$(./nebula --network=umee account)
$ echo $ACCOUNT | jq
{
  "address": "umee1ldxhrcu4vpr4xcgaffs587j5zunul8gu2c9cxd",
  "private_key": "9c9038a9bfd0bba17ac0eb709bb1db88c8f12663e0e93d11e5694b0fec0f5842"
}
Process for creating a new account

Additionally, Nebula supports multi-signature schemes and Ledger integration. This fills a large gap in the Cosmos ecosystem and provides network participants with the ability to create more secure key operations for the business functions they need to execute on onchain.

{
  "address": "cosmos12j23rlqllfpmjuq4zkepesntadksv60uv3tgf6",
  "publickey": "22c1f7e208011226eb5ae9872103befb7859171a25b6a338887de6aa6f92128aa5cde19a7504fdba69df79d58ac71226eb5ae9872102161503851ca8bc599d60fd51f0ea8b0c30d41f30e3e1378db7febedc16812539",
  "sequence": 0,
  "number": 0
}
{
  "threshold": 1,
  "public_keys": [
    {
      "@type": "/cosmos.crypto.secp256k1.PubKey",
      "key": "A777eFkXGiW2oziIfeaqb5ISiqXN4Zp1BP26ad951YrH"
    },
    {
      "@type": "/cosmos.crypto.secp256k1.PubKey",
      "key": "AhYVA4UcqLxZnWD9UfDqiwww1B8w4+E3jbf+vtwWgSU5"
    }
  ]
}
Easily create a multi-sig account

We also extended the functionality of Neubla to support for the full extent of transactions that are possible on the Umee Network. While Nebula makes it easy to extend send and receive support for any Cosmos app-chain, further transaction types on each app-chain (eg staking, contract calls, governance, etc) require more bespoke tooling. With Nebula, users can now easily access and support staking, managing accounts, remote signing, Umee leverage transactions, creating a multi-sig account, and connecting Nebula to Umee nodes on the Umee Network.

# Create messagse
nebula bank_send <...>

# Combine messages into a transaction
nebula new_tx <...> 

# Either sign offline or provide a secret key to the CLI
nebula sign_tx

# Broadcast using a local or remote RPC connection
nebula --rpc=$rpc broadcast_tx --tx_hex=<...>
Simple to manage remote signing

We believe this will provide mission critical wallet software for the Umee Network and allow network participants to make their most important transactions from a secure custody set up.

Who is Nebula For?

Nebula was intentionally designed for enterprise grade network participants such as custodians, exchanges, investors, and institutional validators, but Nebula can also be leveraged by wallet developers and regular users of Cosmos app-chains and/or the Umee blockchain.

You can access Nebula here.

In Closing

We would like to thank the Umee Foundation for their support and we look forward to Nebula providing the larger Cosmos ecosystem with mission critical tools for secure onchain participation.

Interested in Pine Street Labs?

Stay up to date by visiting our website and signing up for our waitlist. Additionally, you can get in touch with us here: team@pinestreetlabs.com