> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unlink.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Withdraw

> Move tokens from the unlink contract to any EVM address.

Withdraw tokens from the unlink contract to any EVM address. Tokens are withdrawn from the account bound to your user client. See [Quickstart](/quickstart). The destination address and amount are public, but the source private account is not; see [How Unlink works](/how-unlink-works).

The `withdraw()` method signs with the spending key from the account bound to
`createUnlinkClient`.

```ts theme={null}
const tx = await client.withdraw({
  recipientEvmAddress: "0xRecipient",
  token: "0xTokenAddress",
  amount: "500000000000000000",
});

const confirmed = await tx.wait();
console.log(confirmed.confirmationStatus); // "confirmed" | "processed" | "failed"
```

`confirmed` means the withdrawal has been observed; use
`tx.wait({ until: "processed" })` when your flow needs durable canonical
processing before continuing.

## Parameters

* `recipientEvmAddress`: destination EVM address.
* `token`: ERC-20 token address.
* `amount`: amount in wei.

**Returns:** a `TransactionHandle`. See [Transaction status](/reading-data#transaction-status).
