> For the complete documentation index, see [llms.txt](https://guide.geyser.fund/geyser-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.geyser.fund/geyser-docs/product-guides/project-features/recovering-funds-from-a-geyser-project-wallet.md).

# Recovering funds from a Geyser project wallet

## Recovering funds from a Geyser project wallet

If you have recovery data for a Geyser project wallet, you can use the **Geyser Recovery Tool** to derive the wallet address, check its Rootstock balance, and send the available funds to another Rootstock address.

The recovery tool is a standalone desktop app. It is not hosted online, it does not connect to Geyser, and it signs transactions locally on your computer.

{% hint style="danger" %}
**Never enter your recovery seed words or private keys into a website. Only use the official desktop recovery tool from the Geyser GitHub repository.**
{% endhint %}

### Before you start

You will need:

* Your Geyser recovery JSON file, recovery seed words, or legacy project wallet private key.
* A destination Rootstock address where the recovered funds should be sent.
* A trusted computer.
* Enough RBTC in the recovered wallet to cover Rootstock network fees.

The recovery tool supports:

* Geyser recovery JSON files with seed words and derivation paths.
* Legacy project recovery JSON files with private keys.
* Manual seed word entry with one or more Rootstock derivation paths.
* Manual Rootstock private key entry.

### Download the recovery tool

1. Open the official Geyser Recovery Tool repository:

   <https://github.com/geyserfund/geyser-recovery-tool>
2. Go to the latest GitHub Release.
3. Download the app for your operating system:
   * macOS: `.dmg` or `.app.tar.gz`
   * Windows: `.msi` or `.exe`
   * Linux: `.AppImage` or `.deb`
4. Also download:
   * `geyser-recovery-tool-[version]-manifest.txt`
   * `geyser-recovery-tool-[version]-manifest.txt.asc`
   * `geyser-release-signing-key.asc`

### Verify the download

Before opening the app, verify that the release was signed by Geyser.

Import the Geyser release signing key:

```sh
gpg --import geyser-release-signing-key.asc
gpg --fingerprint admin@geyser.fund
```

Confirm that the fingerprint matches:

```
43A7 FD3B 1128 6819 B534  9A01 B8EC 2D0B B3C5 1BF8
```

Verify the signed manifest:

```sh
gpg --verify \
  geyser-recovery-tool-[version]-manifest.txt.asc \
  geyser-recovery-tool-[version]-manifest.txt
```

Continue only if GPG reports a good signature from the expected Geyser release key.

Then verify that your downloaded app matches the manifest:

```sh
shasum -a 256 -c geyser-recovery-tool-[version]-manifest.txt
```

Continue only if your downloaded app is listed as `OK`.

If either verification step fails, delete the downloaded files and do not enter your recovery data.

### Open the app

After verifying the release, open the Geyser Recovery Tool.

The app has three main areas:

* **Manual recovery**, for entering seed words, derivation paths, or private keys manually.
* **Recovery file**, for uploading a Geyser recovery JSON file.
* **Recovered addresses**, where derived wallets, balances, and send actions are shown.

### Option 1: Recover using a Geyser recovery file

Use this option if you downloaded a recovery JSON file from Geyser.

1. In the **Recovery file** section, click **Choose recovery file**.
2. Select your `.json` recovery file.
3. The tool will derive the included wallet addresses and check their balances.
4. Review the addresses shown under **Recovered addresses**.

The recovery file may contain:

* `seedWords`
* `userWallet.derivationPath`
* `projectWallets[].derivationPath`
* Legacy `projectWallets[].privateKey` entries

If the recovery file includes expected addresses, the tool checks that the derived address matches the expected address. If an address does not match, sending from that wallet is disabled.

### Option 2: Recover manually with seed words

Use this option if you have your recovery seed words and derivation path.

1. In **Manual recovery**, enter your 12 or 24 recovery words.
2. Enter one or more Rootstock derivation paths.
3. Click **Load addresses**.
4. Review the recovered addresses and balances.

Common derivation paths include:

```
m/44'/137'/0'/0/N
m/44'/137'/0'/1/N
```

Replace `N` with the wallet index.

The recovery tool also supports these networks:

```
Rootstock Mainnet: m/44'/137'/0'/0/N
Rootstock Testnet: m/44'/37310'/0'/0/N
Regtest/dev:       m/44'/1'/0'/0/N
Legacy project:    m/44'/{137|37310|1}'/0'/1/N
```

### Option 3: Recover manually with a private key

Use this option only if your recovery data contains a Rootstock private key.

1. In **Manual recovery**, enter one private key per line in the **Rootstock private keys** field.
2. Select the correct network under **Network for manual private keys**.
3. Click **Load addresses**.
4. Review the recovered addresses and balances.

A private key does not contain network information, so selecting the correct network is important.

### RPC endpoints

The recovery tool uses Rootstock RPC endpoints to check balances and broadcast transactions.

By default, the app includes public RPC endpoints for:

* Rootstock Mainnet
* Rootstock Testnet

You can replace these with your own RPC endpoints in the **RPC endpoints** section.

If you are recovering from a regtest or dev derivation path, you must enter a regtest RPC endpoint manually.

### Send recovered funds

Once your recovered addresses are loaded, each wallet appears in the **Recovered addresses** section.

For each wallet with a spendable balance:

1. Click **Send all**.
2. Enter the destination Rootstock address.
3. Click **Review transaction**.
4. Carefully review:
   * Source address
   * Destination address
   * Network and chain ID
   * Wallet balance
   * Network fee
   * Amount to be sent
5. Check the acknowledgement box.
6. Click **Sign and broadcast transaction**.

The tool will sign the transaction locally and broadcast it through the configured Rootstock RPC endpoint.

After broadcasting, the app shows the transaction status and, when available, a link to the Rootstock explorer.

### Important safety notes

* The recovery tool can move funds from wallets derived from your recovery seed or controlled by an imported private key.
* Only use builds from the official Geyser GitHub repository.
* Verify the release signature before opening the app.
* Do not enter recovery words or private keys into hosted websites.
* Run the tool on a trusted computer.
* Close the tool when you are finished.
* The app does not send your seed words or private keys to Geyser or to an RPC endpoint.
* The app only uses RPC endpoints to check balances and broadcast signed transactions.

### Troubleshooting

#### I do not see a balance

Check that:

* The correct network is selected.
* The derivation path is correct.
* The RPC endpoint is reachable.
* The wallet actually holds funds on Rootstock.

Click **Refresh** after updating RPC settings.

#### The app says RPC is required

The wallet is using a network that does not have an RPC endpoint configured. Add the correct RPC endpoint in the **RPC endpoints** section and refresh balances.

#### The send button is disabled

Sending may be disabled if:

* The address has no spendable balance.
* The balance is too small to cover network fees.
* The derived address does not match the expected address in the recovery file.
* The wallet balance could not be checked.

#### The derived address does not match the expected address

Do not send funds from that wallet. Confirm that you are using the correct recovery file, seed words, derivation path, and network.

#### The transaction is pending

Rootstock transactions may take time to confirm. Use the explorer link shown by the app, or click **Refresh balances** after the network confirms the transaction.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://guide.geyser.fund/geyser-docs/product-guides/project-features/recovering-funds-from-a-geyser-project-wallet.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
