> For the complete documentation index, see [llms.txt](https://terminalwallet-cli.gitbook.io/terminal-wallet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/self-relaying-transactions.md).

# Self-Relaying Transactions

{% hint style="info" %}
You do not have to always use a community Relayer. You can self-relay transactions with any wallet as long as the relaying wallet has sufficient gas to pay the network fee. Self-relaying may be useful in some cases such as on the rare occasions when Relayers are unavailable.
{% endhint %}

### Prerequisites

* You have either [created](/terminal-wallet/first-time-setup/creating-a-new-wallet.md) or [imported](/terminal-wallet/first-time-setup/import-an-existing-wallet.md) at least 2 wallets
* Shielded assets held in a 0zk address: [Shielding Assets](/terminal-wallet/transactions/shielding-assets.md)
* Relaying wallet has sufficient network base token to pay for the transaction

### Self-Relaying Walkthrough

{% hint style="info" %}
The example below shows a self-relay for an unshield, however you can self-relay for any possible private transaction in Terminal Wallet
{% endhint %}

#### 1.  At the relaying stage of any transaction, press Enter on 'Self Sign Transaction Self-Relay'

<figure><img src="/files/KgZ0jTjpbVP1wNWhdkgg" alt=""><figcaption></figcaption></figure>

#### 2. Select from list of wallets in Terminal Wallet

<figure><img src="/files/UpJzNMYdacCVcdYMTpP6" alt=""><figcaption></figcaption></figure>

Select a wallet that isn't making the transaction.

#### 3.  Press Enter on 'Generate Proof' to continue

<figure><img src="/files/uNuznILJveuDH34aCFQa" alt=""><figcaption></figcaption></figure>

#### 4. Wait for proof generation&#x20;

<figure><img src="/files/ma2drvqp00schyPdkfdg" alt=""><figcaption></figcaption></figure>

#### 5. Press Enter on 'Send Transaction'

<figure><img src="/files/70REgYrBf3818V61YYdQ" alt=""><figcaption></figcaption></figure>

#### 6. Wait for transaction confirmation.

<figure><img src="/files/qk0XyZNA2QD7HWd0QaYZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EIerAf1xEfCEnRxhLAir" alt=""><figcaption></figcaption></figure>


---

# 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://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/self-relaying-transactions.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.
