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

# 언스테이킹

언스테이킹 (Unstaking)은 밸리데이터 (Validator)를 운용하기 위해서 진행한 스테이킹 (Staking)을 회수하는 작업의 일부입니다.

작업을 수행하게 되면 롤업 컨트랙트에 제공했던 금액이 밸리데이터 지갑으로 이동합니다.&#x20;

이를 위해서 아래의 몇 가지 사항을 확인하고, 스크립트를 실행해야 합니다.

{% hint style="info" %}
언스테이킹을 하기 위해서는 Git Repository에서 제공하는 코드를 사용자가 직접 실행해야 합니다.

* [https://github.com/dKargo/dkargo-validator-utils](<&#xA;https://github.com/dKargo/dkargo-validator-utils>)
  {% endhint %}

## STEP 1 - 출금 가능 여부 확인

롤업 컨트랙트에 스테이킹한 금액을 출금하기 위해서는 현재 스테이킹중인 Rblock이 확정될 때까지 해당 스테이크(Stake)를 유지해야 합니다.&#x20;

즉, 마지막 스테이크 시점으로부터 6.4일 동안 스테이크를 이동하지 않아야 출금이 가능해집니다. 이를 위해서 밸리데이터 가동을 중지하고 출금 가능 시점까지 대기해야 합니다.

## STEP 2 - ETH 언스테이킹

출금 가능 시점 이후에 함수 호출을 통해서 스테이크 토큰을 언스테이크할 수 있습니다. 언스테이크된 ETH는 바로 지갑으로 이동되는 것이 아닙니다. 롤업 컨트랙트에 보관되어 withdrawableFunds 변수로 관리됩니다.

```jsx
const res = await rollup.returnOldDeposit(stakerWalletAddress);

const receipt = await res.wait();

console.log(receipt.transactionHash)
```
