> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tools/utilities/wsol-wrapper.md).

# WSOL Wrapper

[WSOL Wrapper](https://j.tools/en/tools/wsol-wrapper) turns native SOL into Wrapped SOL (WSOL) and unwraps WSOL back to plain SOL, all from a single panel. It reads your live balances, gives you a MAX helper, shows a clear conversion summary, and hands you a Solscan link when the transaction confirms. The rate is always 1:1, with no price impact. If the term WSOL is new to you, the [Glossary](/getting-started/glossary.md) has a one-line definition.

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

## When to use this

* You need a WSOL balance before a [swap](/tools/trade/swap.md), a pool deposit, or any flow that only accepts SPL tokens. Most AMMs treat WSOL as the SOL side of a pair, so this is a common first step (see [DEXes and liquidity](/concepts/dexes-and-liquidity.md)).
* You have leftover WSOL sitting in a token account and want to reclaim it as native SOL.
* You would rather click once than hand-build the ATA, `syncNative`, and `closeAccount` instructions yourself.

## Before you start

* A connected wallet ([how to connect](/getting-started/quick-start.md)), or a private-key wallet source picked in the selector.
* For wrap: enough SOL to cover the amount you are wrapping plus the network fee, and the rent-exempt minimum if your WSOL account does not exist yet.
* For unwrap: an existing WSOL token account that holds a balance.

{% hint style="info" %}
WSOL is just SOL held inside an [SPL token](/concepts/spl-vs-token2022.md) account so SPL-only programs can read it. The mint is the native mint, `So111...1112`. Wrapping does not change how much value you hold; it changes the form.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Connect and load balances

Connect your wallet or select a wallet source. The page reads your SOL and WSOL balances on load. The **Refresh Balances** button re-reads them any time the numbers look stale.
{% endstep %}

{% step %}

### Pick the direction

Choose **Wrap SOL** (SOL to WSOL) or **Unwrap WSOL** (WSOL to SOL). Wrap is the default. The selected button shows which way the conversion runs.
{% endstep %}

{% step %}

### Enter the amount

Type an amount or click **MAX**. For wrap, MAX fills your SOL balance minus a small reserve for the network fee and, if needed, the ATA rent. The Conversion Summary panel shows the mode, the input token, and the output token at a 1:1 rate.
{% endstep %}

{% step %}

### Execute the conversion

Click **Execute Conversion**. For a wrap, the page creates your WSOL associated token account if it is missing, moves the lamports in, and runs `syncNative`. For an unwrap, it closes the WSOL account and returns the full balance plus its rent as native SOL.
{% endstep %}

{% step %}

### Confirm and review

Sign in your wallet. The transaction is broadcast and confirmed, then a success dialog and an inline alert show the result with an **Open On Solscan** link. Your balances refresh on their own.
{% endstep %}
{% endstepper %}

[**Open WSOL Wrapper in the app →**](https://j.tools/en/tools/wsol-wrapper)

{% hint style="info" %}
**About wallet warnings.** Some tools sign more than one thing in a single step, for example creating a token and its metadata together. Phantom can show a caution banner for these multi-step transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

## The options, explained

| Field  | What it does                                                                                                                                        |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Action | Sets the direction: **Wrap SOL** (SOL to WSOL) or **Unwrap WSOL** (WSOL to SOL). Default is wrap.                                                   |
| Amount | How much SOL to wrap or WSOL to unwrap. Must be greater than zero, and is limited to 4 decimals. Default is 1.                                      |
| MAX    | Fills the available balance. On wrap it leaves a small reserve for the network fee plus ATA rent, so MAX wrap sits just under your raw SOL balance. |

{% hint style="warning" %}
**Unwrap takes the full balance.** Closing a WSOL account drains and removes it, so an unwrap has to be the exact current balance of that account. Use **MAX** for unwrap. A partial unwrap is rejected.
{% endhint %}

## If something goes wrong

* **Unwrap amount does not match.** Unwrap must equal the live WSOL account balance exactly. Click **MAX** and try again.
* **Not enough SOL.** A wrap needs SOL for the amount, the network fee, and the rent if the WSOL account is new. Top up and retry.
* **Stale balances or signer mismatch.** Hit **Refresh Balances**, confirm the right wallet source is selected, and run it again.

For the full list, see the [Error codes reference](/reference/error-codes.md).

## FAQ

<details>

<summary>Is wrapping reversible?</summary>

Yes. Wrap and unwrap are two sides of the same 1:1 conversion. Wrap SOL when an SPL-only flow needs it, then unwrap back to native SOL whenever you want.

</details>

<details>

<summary>Where does the rent go when I wrap?</summary>

While your WSOL token account is open it holds the rent-exempt minimum. That SOL is not lost. When you unwrap and close the account, the rent comes back to your wallet along with the wrapped balance.

</details>

<details>

<summary>Why is MAX wrap a little less than my full SOL balance?</summary>

Wrap leaves a small reserve so the transaction can pay its network fee and, if your WSOL account does not exist yet, its rent. Without that reserve the wrap would fail.

</details>

<details>

<summary>Which DEX does this use?</summary>

None. WSOL Wrapper is native Solana only. It talks to the SPL Token program and the native WSOL mint directly, with no AMM or routing involved.

</details>

## Related tools

{% content-ref url="/pages/wzTSdddfnEFKadxZXdPR" %}
[Swap](/tools/trade/swap.md)
{% endcontent-ref %}

{% content-ref url="/pages/sAoyZDh9f2RlcKOAuq5G" %}
[Multi Swap](/tools/trade/multi-swap.md)
{% endcontent-ref %}

{% content-ref url="/pages/tcfZtvMT2fZ8MMKcMlpF" %}
[Close Account](/tools/utilities/close-account.md)
{% endcontent-ref %}

{% content-ref url="/pages/7CPBHR61Y6akMdkeSBGW" %}
[Batch Collector](/tools/wallets/batch-collector.md)
{% endcontent-ref %}

{% content-ref url="/pages/ABVX2mBQDoCv7DEdVmKp" %}
[Multi Sender](/tools/wallets/multi-sender.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never hold your private keys and never ask for them. Every transaction is built in your browser and signed by your own wallet. If any page ever asks you to paste a private key, stop, close it, and let us know.
{% endhint %}


---

# 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://docs.j.tools/tools/utilities/wsol-wrapper.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.
