# Welcome to Nearvault

Nearvault is a multisig wallet platform designed to simplify the management of developer and treasury assets for organizations building on the NEAR blockchain. With Nearvault, teams can securely store and jointly manage their:

* Treasuries
* Smart contracts
* Native tokens
* Stake
* And any other on-chain assets on NEAR

Developing a protocol or product in the crypto space presents unique challenges that are not encountered in traditional web2 environments. NEAR Vault offers a tailored solution to address these challenges, providing a user-friendly experience for crypto developers and operators when it comes to managing their core assets throughout the entire process of bringing their vision to life.

Throughout a team's journey, they may raise funding, deploy smart contracts, launch tokens, and start their own validators. Nearvault tackles three core problems related to managing these assets:

1. User Experience: Nearvault transforms many experiences that previously required developers to interact with the command-line interface (CLI) into well-designed user flows within an intuitive interface.
2. Security: Built on top of a robust smart contract wallet infrastructure layer for NEAR, NEAR Vault allows teams to secure ownership of their assets with multi-signature logic. This requires multiple signatories to approve actions, decentralizing control and eliminating single points of failure.
3. Transparency: By requiring multisig approvals for asset management and parsing relevant data into a human-readable format, NEAR Vault provides teams with greater transparency. This allows main stakeholders to have better visibility and control over critical actions in the development of their project.

NEAR Vault leverages a collection of smart contracts that enable developers to deploy and program smart contract wallets, representing the next generation of self-custody solutions on NEAR. The platform brings novel account abstraction features to NEAR, such as spending limits and permissions, enhancing the flexibility and security of asset management for organizations building on the blockchain.


# Onboarding

Link: <https://nearvault.org/auth/signin>

First time usage of nearvault requires a few steps to be completed. This guide will walk you through the process.

## Login

You can either connect with Google or email to login. If you choose to login with email, you will receive a magic link in your inbox to login.

Email not received? Check your spam folder. If you still can't find it, you can request a new magic link.

After login you will end up on this page:

<figure><img src="https://3791346356-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWXqcBuu0eLJnv99J7bJ2%2Fuploads%2FzhLDSS7mwAon31mlaLFZ%2FScreenshot%202024-04-10%20at%2010.49.03.png?alt=media&amp;token=7a51f1ea-91b3-4527-bb62-e0e15fc03fc1" alt="" width="375"><figcaption></figcaption></figure>

You can either create a multisig wallet now or skip this section by clicking "Continue" and create a wallet later on.

## Create your first multisig wallet

Give it a name, the name will be prefixed with `.multisignature.near`. For example, if you name it `mywallet`, the full wallet name will be `mywallet.multisignature.near`.

Add the public keys that you want to have access to your multisig wallet.

Find your Ledger public key:&#x20;

{% content-ref url="/pages/XanTXUapjzDApithuWx5" %}
[How to find my Ledger public key](/frequently-asked-questions/how-to-find-my-ledger-public-key)
{% endcontent-ref %}

You can also create a keypair from: <https://near.github.io/near-seed-phrase/> and add the public key of the pair to the multisig wallet.

Set the voting threshold. This is the number of signatures required to approve a transaction. For example, if you have 3 public keys and set the threshold to 2, then 2 signatures are required to approve a transaction. If you set the threshold to 3, then all 3 signatures are required.

## Create your first team

Give it a name, list of multisig wallets, and a list of emails of the team members. The team members will receive an email to join the team. Once they accept the invitation, they will be able to view requests in the multisig wallet. (It doesn't give any write access to the multisig wallet).


# Connect your key

To be able to sign transactions, you need to connect your key. You can connect with a Ledger device or a private key.

Prerequisite:&#x20;

{% content-ref url="/pages/WBOppYhyadiCXGsksWVE" %}
[Onboarding](/getting-started/getting-started)
{% endcontent-ref %}

## Ledger connect

Click "Wallet Manager..." at the bottom left corner of the page to open the wallet manager. Click on Ledger Connect. Follow the instructions to connect your Ledger device.

## Private key connect

Click "Wallet Manager..." at the bottom left corner of the page to open the wallet manager. Click on private key connect. Follow the instructions to connect your private key.


# Token transfers (NEAR/NEP-141)

### Prerequisites

* Add the recipient in the address book
  * <https://nearvault.org/beneficiary/manage>

### Transfer

1. Pick the funding multisig wallet you want
2. Pick the recipient from the address book
3. Choose the token you want to transfer
4. Enter amount
5. Create transfer request

### Approve the request

1. Go to: <https://nearvault.org/approval/pending>
2. Find the request and approve.
3. When threshold is reached, the transaction will be automatically sent.


# Create NEAR Lockup (Vesting)

NEAR Vault supports two types of lockups: linear release and cancellable with a cliff feature.

### Linear Release Lockup

A linear release lockup allows for a gradual release of tokens from a start date to an end date. This type of lockup cannot be cancelled once created.

### Cancellable Lockup with Cliff

A cancellable lockup offers a cliff feature, allowing the NEAR Foundation to cancel the lockup at any time and transfer back the unvested amount. If a cliff date is set, the receiver can only start withdrawing tokens after the cliff date has passed.

#### Prerequisites

* The minimum amount of NEAR for a lockup is 4 NEAR.
* The recipient account ID must be added to the address book.

#### Create a Lockup

1. Go to: <https://nearvault.org/lockup/create>
2. Fill in the following fields:
   * **Sender Wallet**: Select the wallet to fund the lockup.
   * **Receiver Account**: Select the account to receive the lockup.
   * **Token**: NEAR (pre-selected, cannot be changed).
   * **Amount**: Enter the amount of NEAR to be locked up.
   * **Allow Cancellation**: Toggle on/off to allow or disallow cancellation of the lockup by the NEAR Foundation.
   * **Start Date**: Select the start date of the lockup.
   * **End Date**: Select the end date of the lockup.
   * **Cliff Date** (optional): Select the date when the receiver can start withdrawing tokens. Only available if cancellation is allowed.
   * **Allow Staking**: Toggle on/off to allow or disallow staking of the locked-up tokens by the owner (even before the cliff date).
3. Review the lockup details and explanation provided.
4. Click on "Create Lockup" to create the lockup contract.

Note: Non-cancellable lockups are not compatible with cliff dates.


# Ledger error 0x6990

The issue you are facing is because the transaction is too long to be signed from the Ledger. You have to use a non ledger protected key pair to avoid this issue.

1. Create a keypair, go to this website: <https://near.github.io/near-seed-phrase/>
   1. Code: <https://github.com/near/near-seed-phrase>
2. Copy the private key, and the public key somewhere safe, preferably air gapped device.
3. Go to <https://nearvault.org/approval/manage> to add the public key to the multisig wallet.
   1. Make sure to only enable “add request” permission.
   2. ![](https://lh7-eu.googleusercontent.com/IDkKAunBx-osLVtWbC9KeKGX7qadk6ACqoUn90EIWMfAA4FL38X9R9ZMtQe0XKYzM2Baht2e1ImJ3MLdTgOWrXru75RCMt7GONPN8yQ4yIAPXlf6Qagy2XhUwBckhqzW4rxe-LiRgA-SV2LSCO-qBAY)
   3. Create request and ask for approval from the different parties.
4. Import the private key by going to “Wallet Manager…” and Private Key connect
   1. Copy paste the private key in this text field and then click “Connect”
   2. ![](https://lh7-eu.googleusercontent.com/IW8nye6iQvgwYpRT2VL1YrpEAHJKhxjqBQcVGU5bwYhLrRO1U0UgCVuQNT6c8G8M1VsTbgbiEBB8CqQ0UWLu5KWY3NFgAQo5iWZU0qvm8bXJ5gIVeRE-gya6WiZU4IHAwOE8Ah4fs3PvD0UFnrwHTxA)
5. Now try to send the create request transaction from the given wallet, the request should be added and available for approval in <https://nearvault.org/approval/pending> page.
   1. **If it is**, we need to forget the imported private key: go to “Wallet Manager…”, and then “View Imported Keys”, click forget key on the public key of the manually created keypair.
6. If the request matches your expectation, approve the transaction and ask other parties to do the same.
   1. If you are facing any issue, try to re import your Ledger public key using the Wallet Manager > Ledger Connect.


# How to find my Ledger public key

You may need to find your Ledger public key to create a new multisig wallet or other reasons:

One way to do it is by going to the following website, go to the bottom of the page specify the derivation path you want to use: <https://deploy-multisig.vercel.app/>

Then click Get Ledger public key:

&#x20;![](https://3791346356-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWXqcBuu0eLJnv99J7bJ2%2Fuploads%2FKXQrbVaUDQWc5Tft4IxV%2FScreenshot%202024-04-10%20at%2010.52.22.png?alt=media\&token=0ef334e8-0381-4646-b4b2-76f2fe36cced)

More on derivation path: <https://www.ledger.com/blog/understanding-crypto-addresses-and-derivation-paths>


