> 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).

# Wrap and Unwrap SOL to WSOL in One Panel

[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 one panel. It reads your live balances, gives you a MAX helper, and shows a clear 1:1 conversion summary before you sign. When the transaction confirms you get a Solscan link, and your balances refresh on their own.

## What it is

WSOL Wrapper converts between native SOL and Wrapped SOL. Native SOL is the lamport balance your wallet holds directly. WSOL is that same SOL held inside an [SPL token](/concepts/spl-vs-token2022.md) account, under the native mint `So111...1112`, so programs that only speak the SPL Token interface can read it. The [Glossary](/getting-started/glossary.md) has a one-line version if the term is new.

Wrapping does not change how much value you hold. One SOL wraps to exactly one WSOL, and one WSOL unwraps back to one SOL. The tool simply changes the form your SOL is in.

## Why use this tool

Most on-chain programs that take "SOL" actually expect WSOL, an SPL token, rather than the native balance. Building that yourself means creating the associated token account, funding it, running `syncNative`, and later closing the account to reclaim your SOL. WSOL Wrapper packs all of that into one button, and it handles the easy-to-miss part: the rent-exempt minimum on a brand-new token account.

## How it works (under the hood)

A wrap is two pieces of work. First, if your wallet does not already have a WSOL associated token account, the tool creates one. That account needs the rent-exempt minimum to stay open, so a brand-new account costs a small amount of SOL that you get back later. Second, the tool moves the lamports you chose into that account and runs `syncNative`, which tells the SPL Token program to recognize the new lamport balance as a WSOL token balance. After that, your wallet shows a WSOL token balance equal to the SOL you wrapped.

An unwrap is the reverse, and it is all-or-nothing. To turn WSOL back into native SOL, the tool closes the WSOL token account. Closing a token account sends its entire balance, plus the rent that was holding it open, back to your wallet as native SOL. Because closing drains the whole account, an unwrap always takes the full current balance. There is no partial unwrap.

The conversion is purely native Solana. It talks to the SPL Token program and the native WSOL mint directly, with no AMM, no route, and no price impact. The rate is fixed at 1:1, so there is no slippage and nothing to front-run. Everything is signed in your wallet and broadcast from there.

<figure><img src="/files/Uyt0ggtXGF76xHJdvljx" alt="How wSOL Wrapper works"><figcaption></figcaption></figure>

## When to use it

* 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.
* A program returned an error because you handed it native SOL where it expected an SPL token.

## 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 a wrap: enough SOL to cover the amount you are wrapping, the network fee, and the rent-exempt minimum if your WSOL account does not exist yet.
* For an unwrap: an existing WSOL token account that holds a balance.

## 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 a wrap, MAX fills your SOL balance minus the WSOL account's rent-exempt minimum and a 0.0004 SOL network margin. That rent is held back every time, even when your WSOL account already exists, so MAX never overdraws. 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 bundle several instructions into one transaction, for example creating a token and its metadata together. Phantom can show a caution banner for these transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

## The options, explained

* **Action:** Sets the direction. **Wrap SOL** turns native SOL into WSOL; **Unwrap WSOL** turns WSOL back into native SOL. Wrap is the default.
* **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 a wrap it leaves a small reserve for the network fee plus ATA rent, so MAX wrap sits just under your raw SOL balance; if your WSOL account already exists, that reserve simply stays in your wallet. On an unwrap it fills the exact WSOL account balance.
* **Refresh Balances:** Re-reads your live SOL and WSOL balances from the chain when the displayed numbers look stale.

{% hint style="warning" %}
**Unwrap always takes the full balance.** Closing a WSOL account drains and removes it, so every unwrap returns the entire current balance plus rent, no matter what number is in the amount field. Entering a partial amount does not fail; the whole balance still comes back and the account closes. Click **MAX** so the number on screen matches what actually happens. To keep part of it in WSOL, unwrap everything, then wrap back the amount you still need.
{% endhint %}

## Fees and costs

{% 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 %}

**This tool is free.** There is no platform fee. You only pay the small Solana network fee to wrap or unwrap.

| Cost                 | Amount                                                 |
| -------------------- | ------------------------------------------------------ |
| J Tools platform fee | Free (0 SOL)                                           |
| Solana network fee   | a small amount per on-chain action, paid to validators |

The network fee is the standard Solana signature fee, a few thousand lamports per transaction. A first-time wrap also locks the rent-exempt minimum into your new WSOL account, but that is not a cost: closing the account on unwrap returns it to your wallet in full.

## Common mistakes and troubleshooting

* **Stale balances or signer mismatch.** Hit **Refresh Balances**, confirm the right wallet source is selected, and run it again.
* **Expecting a partial unwrap.** The amount field does not split an unwrap. Whatever you enter, the tool closes the account and returns the full balance.

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

## Advanced tips

* **Pre-wrap before a busy flow.** If you are about to do several SPL-only actions in a row, wrap once up front so each step reads an existing WSOL balance instead of re-creating the account.
* **Leave the WSOL account open between sessions.** Keeping it open means the next wrap skips account creation and the rent step, so it costs only the bare network fee. Unwrap to close it only when you want the rent back.
* **Sanity-check the mint.** WSOL is always the native mint `So111...1112`. Any other "wrapped SOL" mint is a different token and is not what this tool handles.

## Related tools

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

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

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

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

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

{% hint style="success" %}
**J Tools is non-custodial.** We never store or transmit your private keys and never ask for your seed phrase. Every transaction is signed in your own browser, and nothing about a key ever reaches our servers. A few multi-wallet tools do let you paste private keys for throwaway hot wallets, which stay in your browser tab and are used only to sign locally. Never paste a key tied to long-term holdings, and if a page ever asks for your seed phrase, stop and close it.
{% 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.
