> For the complete documentation index, see [llms.txt](https://docs.originprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.originprotocol.com/resources/guides/withdrawing-from-os-and-the-os-arm.md).

# Withdrawing from OS and the OS ARM

## OS and OS ARM Withdrawals

Support for Origin Sonic (OS) and OS ARM withdrawals on the dapp will end soon.

OS and the OS ARM are being wound down. Both vaults have stopped earning yield, and the underlying S has already been unstaked and returned to the vaults. Withdrawals can therefore be processed after the protocol-enforced 10-minute delay.

This wind-down follows a governance [proposal](https://snapshot.org/#/s:origingov.eth/proposal/0xc326cd84d6d0c2d61ba77dbe54491615b041053f362b46cd5d6dcae3c70ada3a) that passed after Origin Sonic no longer met the protocol’s revenue, liquidity, and operational maintenance thresholds. The ongoing cost of maintaining validators, integrations, and user support on Sonic was no longer justified by the revenue generated by Origin’s Sonic products.

This guide explains how to exit OS and the OS ARM via smart contracts before dapp support ends.

#### Before you start

* Every withdrawal takes two transactions: a request, then a claim. The claim opens at least 10 minutes after the request.
* Claim from the same wallet that made the request.
* Withdrawals pay out **wS (Wrapped Sonic)**.
* You need a small amount of S in the same wallet to pay for gas.
* If your OS, wOS or ARM-WS-OS is deposited in another protocol or liquidity pool, withdraw it to your wallet first.
* Only use the contract addresses listed on this page. Never send tokens to a contract address directly.

| Contract                     | Address                                                                                                                     |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Origin Sonic, OS (ERC-20)    | [0xb1e25689D55734FD3ffFc939c4C3Eb52DFf8A794](https://sonicscan.org/address/0xb1e25689D55734FD3ffFc939c4C3Eb52DFf8A794#code) |
| Wrapped OS, wOS (ERC-4626)   | [0x9F0dF7799f6FDAd409300080cfF680f5A23df4b1](https://sonicscan.org/address/0x9F0dF7799f6FDAd409300080cfF680f5A23df4b1#code) |
| OS Vault                     | [0xa3c0eCA00D2B76b4d1F170b0AB3FdeA16C180186](https://sonicscan.org/address/0xa3c0eCA00D2B76b4d1F170b0AB3FdeA16C180186#code) |
| OS ARM (LP token: ARM-WS-OS) | [0x2F872623d1E1Af5835b08b0E49aAd2d81d649D30](https://sonicscan.org/address/0x2F872623d1E1Af5835b08b0E49aAd2d81d649D30#code) |

**Entering amounts:** the contracts count in units of 10^18, so 1 OS is entered as `1000000000000000000`. The simplest way to withdraw everything is to copy your exact balance from the token's `balanceOf()` function, as each section below shows, and paste it in unchanged.

#### How to Unwrap wOS

Skip this step if you hold OS, not wOS.

1. Open the [wOS contract](https://sonicscan.org/address/0x9F0dF7799f6FDAd409300080cfF680f5A23df4b1#readProxyContract) on SonicScan and select **Contract**, then **Read as Proxy**.
2. Find `balanceOf()`, enter your wallet address and click **Query**. Copy the number returned.
3. Switch to **Write as Proxy** and click **Connect to Web3** to connect your wallet.
4. Find `redeem()`. Enter the copied number as the shares, and your wallet address as both the receiver and the owner.
5. Click **Write** and confirm the transaction in your wallet. You now hold OS.

#### How to Withdraw OS

**Request the withdrawal**

1. Open the [OS token contract](https://sonicscan.org/address/0xb1e25689D55734FD3ffFc939c4C3Eb52DFf8A794#readProxyContract), select **Read as Proxy**, find `balanceOf()`, enter your wallet address and click **Query**. Copy the number returned.
2. Open the [OS Vault contract](https://sonicscan.org/address/0xa3c0eCA00D2B76b4d1F170b0AB3FdeA16C180186#writeProxyContract), select **Write as Proxy** and click **Connect to Web3**.
3. Find `requestWithdrawal()`, paste the copied number as the amount, click **Write** and confirm the transaction in your wallet.

**Find your request ID**

1. Open the request transaction on SonicScan and select the **Logs** tab. The `WithdrawalRequested` event shows your request ID as `_requestId`. Note it down.

**Claim, at least 10 minutes later**

1. Back on the OS Vault's **Write as Proxy** tab, find `claimWithdrawal()`, enter your request ID, click **Write** and confirm the transaction. The wS arrives in your wallet.

If you made more than one request, `claimWithdrawals()` claims them in one transaction. Enter the IDs in square brackets, separated by commas, for example `[101,102]`.

#### How to Withdraw from the OS ARM

OS ARM LPs hold the ARM-WS-OS LP token. Withdrawing redeems your pro-rata share of the OS ARM's assets in wS.

**Request the withdrawal**

1. Open the [OS ARM contract](https://sonicscan.org/address/0x2F872623d1E1Af5835b08b0E49aAd2d81d649D30#readProxyContract) and select **Read as Proxy**. Find `balanceOf()`, enter your wallet address and click **Query**. Copy the number returned: this is your ARM-WS-OS balance.
2. Optional: enter that number in `previewRedeem()` to see how much wS it redeems for, in units of 10^18.
3. Switch to **Write as Proxy**, click **Connect to Web3**, find `requestRedeem()`, paste the number as the shares, click **Write** and confirm the transaction.

**Find your request ID**

1. Open the request transaction on SonicScan and select the **Logs** tab. The `RedeemRequested` event shows your `requestId`. Note it down.

**Claim, at least 10 minutes later**

1. Back on the OS ARM's **Write as Proxy** tab, find `claimRedeem()`, enter your request ID, click **Write** and confirm the transaction. The wS arrives in your wallet.

#### Need help?

Ask in the [Origin Discord](https://originprotocol.com/discord). Origin’s team will never message you first or ask for your seed phrase.
