# Wallet deposits and withdrawals

Source: https://docs.settlemint.com/docs/concepts/operating/investor-portal-wallet-transfers
Deposit coins from your own wallet, withdraw them to an approved payout address, cancel or collect a withdrawal, and prove a self-custody wallet.

In the Investor portal you deposit by sending coins from a wallet you control to your gateway address, and you take coins out by withdrawing them to an approved payout address. Your gateway is your own deposit and withdrawal point on one network. A deposit credits your wallet with custody receipts for the coins you send. A withdrawal returns those receipts to the gateway, and the gateway pays the coins to your payout address. The [custody gateway](https://docs.settlemint.com/docs/concepts/custody-and-signing/custody-gateway) page explains what happens behind each stage.

The Withdrawal destinations page holds a separate list: the self-custody wallets you prove with a signature. Proving a wallet records that you control its address. A gateway withdrawal goes only to the payout addresses approved for your gateway. A wallet on Withdrawal destinations does not become a gateway payout address until a gateway manager adds it.

The Console offers a Console user the same steps. **Withdraw** on [Portfolio](https://docs.settlemint.com/docs/console/my-assets/portfolio#withdraw-from-your-gateway) opens this withdraw dialog, the Portfolio [Transfers](https://docs.settlemint.com/docs/console/my-assets/portfolio#follow-your-transfers) tab lists the same rows as the portal's "Transfers" tab, and [Withdrawal destinations](https://docs.settlemint.com/docs/console/personal/withdrawal-destinations) under Personal is this destinations page.

## Before you start [#before-you-start]

- You are signed in to the Investor portal and acting as the participant whose custody balance you want to use.
- Your organisation created your gateway.
- To withdraw, you hold custody receipts in your wallet.
- To withdraw, a gateway manager approved a payout address for your gateway.
- To withdraw, you set up a transaction PIN or transaction code under Security, because every withdrawal, cancel and collect asks you to confirm with one of them.
- To prove a self-custody wallet, you have a browser wallet that holds that wallet's key and is connected to the network you withdraw on.

When a control is missing, the cause is one of these:

| What you see | What it means |
| --- | --- |
| The Withdraw button, the "From a wallet" deposit method and the Withdrawal destinations page are all missing | Custody operations are off for your platform. |
| The Withdraw button is missing, while the Withdrawal destinations page and the "Transfers" tab remain | Your organisation switched its Self-custody module off. The Deposit button is missing too unless the organisation offers bank transfers. The "Transfers" tab shows a "Read only" notice, you can still read your records, and the platform refuses every write with `platform.module.DISABLED`. Ask your organisation to switch the module on. |

Several roles at the organisation that runs your account decide parts of this flow in the Console. A screener clears a deposit that waits in review. A gateway manager approves the payout addresses of your gateway and can send a deposit to a recovery address. A custody operator clears the self-custody wallets you prove.

## Deposit coins from your wallet [#deposit-coins-from-your-wallet]

**Step 1 of 4**

### Start a deposit [#start-a-deposit]

Open "Portfolio", then select "Deposit". When the organisation also offers bank transfers, the dialog shows two tabs, "From a wallet" and "By bank transfer". Select "From a wallet". With one method, the dialog opens it directly. [Bank transfers](https://docs.settlemint.com/docs/concepts/operating/investor-portal-bank-transfers) covers the other tab.

![Deposit dialog with the gateway address, its QR code and the accepted coins](https://docs.settlemint.com/docs/screenshots/portal-venue-journey-fund-wallet.light.en.webp)

[Screenshot] The Deposit dialog shows "Your gateway address" as a QR code and as text with a copy control, an "Accepted coins" line, and a "Receipt balances" card underneath.

**Step 2 of 4**

### Copy your gateway address [#copy-your-gateway-address]

The dialog shows your gateway address as a QR code and as text with a copy control, then the "Accepted coins" line that lists the coins this gateway takes. Send only those coins. The dialog says that anything else cannot be credited automatically.

The "Receipt balances" card under the address shows, for each asset, what is "Available" to withdraw and what is "Waiting for custody". When the dialog cannot read your gateway address, it shows that error with **Try again** and no card. When only the balances fail to load, the card says so and offers "Try again".

When the dialog shows "This gateway is paused. Do not send a deposit until it resumes.", wait until the notice is gone before you send. A deposit that arrives while the gateway is paused is recorded as "In review" and is not credited until the gateway resumes and the deposit is cleared. Once the gateway has been paused too long, the gateway contract lets you pull a deposit back to its sender, a call the portal does not offer. Your address does not change, so keep it.

**Step 3 of 4**

### Send the coins from your wallet [#send-the-coins-from-your-wallet]

Send the amount from your own wallet to the gateway address, on the gateway's network. The deposit appears on the "Transfers" tab once the gateway records it.

**Step 4 of 4**

### Follow the deposit [#follow-the-deposit]

Open "Portfolio", then "Transfers". Each deposit is one row with a plus sign before its amount, a line on its progress, its status and the date, merged with your withdrawals, bank payments and cash-outs, newest first. The "Type" filter narrows the list to deposits, and "Search transfers" searches it. A deposit that has not ended sits in the "In progress" section, before the "History" section.

![Transfers tab with In progress and History sections and the Type filter](https://docs.settlemint.com/docs/screenshots/portal-wallet-transfers-transfers.light.en.webp)

[Screenshot] The "Transfers" tab shows a search field, a "Type" filter set to "All types", an "In progress" section and a "History" section.

Each row shows the signed amount with a description line, the status and the date.

### What each deposit status means [#what-each-deposit-status-means]

| Status | What it means |
| --- | --- |
| "In review" | The deposit waits for screening of the sending wallet, by the organisation's screening provider or a person. Nothing is credited. |
| "On hold" | The deposit is frozen. It is reviewed again when the freeze ends. |
| "Not credited" | The receipts could not be minted to your wallet, for example because the wallet is no longer registered to your identity. Your gateway managers are handling it. |
| "Waiting for custody" | The receipts are credited and held until the custodian accepts the coins, or the coins are on hold at the custodian. |
| "Completed" | The deposit settled and the receipts are yours to use. |
| "Returned" | The coins went back to the sender. |
| "Recovered" | Your gateway managers sent the coins to a recovery address instead of back to the sender. |

## Withdraw coins to your payout address [#withdraw-coins-to-your-payout-address]

**Step 1 of 5**

### Start a withdrawal [#start-a-withdrawal]

Open "Portfolio", then select "Withdraw". The dialog shows the "Auto-collect" switch, the "New withdrawal" button and your withdrawals, newest first, with a "View all transfers" link when there are more.

![Withdraw dialog with the Auto-collect switch, the New withdrawal button and the withdrawal list](https://docs.settlemint.com/docs/screenshots/portal-wallet-transfers-withdraw.light.en.webp)

[Screenshot] The Withdraw dialog shows an "Auto-collect" switch with its help line, a "New withdrawal" button, and a list of withdrawals, each with its amount, status and date.

"Auto-collect" is on by default. With it on, the coins are paid to your payout address as soon as the gateway can pay the request from the coins it holds for payouts. With it off, a funded request waits as "Ready to collect" until you collect it. Changing the switch asks for your transaction PIN or transaction code.

The switch holds only your own choice: when a gateway manager has turned automatic payment off for a coin, requests for that coin wait as "Ready to collect" even with the switch on.

When the gateway is paused, "New withdrawal" cannot be selected, and pointing at it or moving focus to it shows "This gateway is paused, so new withdrawals are off until it resumes."

**Step 2 of 5**

### Choose the token, the destination and the amount [#choose-the-token-the-destination-and-the-amount]

Select "New withdrawal". In the "Withdraw" sheet, choose the custody receipt to return under "Token". Each option shows its symbol and the amount available.

"Destination" then lists the payout addresses approved for your gateway, with the default one first and marked "Default". This list holds only the payout addresses a gateway manager approved for your gateway. Proving a wallet on the Withdrawal destinations page does not add it here.

Enter the "Amount". The line under it shows how much is available, and how much is "waiting for custody" when some receipts are still held. Under the amount, the sheet prices the fee and shows "Fee", then what you receive, in the coin you are paid in.

**Step 3 of 5**

### Review the fee and what you receive [#review-the-fee-and-what-you-receive]

Select "Review". The review step shows the "Amount", the "Fee", what "You receive" and the "Destination". Your gateway's escrow is the contract that holds the receipts while the withdrawal runs. When its permission to take receipts from your wallet is below this amount, an "Approve" card with the amount and symbol comes first. The request approves exactly this amount for that escrow, then requests the withdrawal.

The fee is the gateway's withdrawal fee. "You receive" is the gateway's quote of what reaches your payout address after that fee. The gateway fixes the fee when it records your request.

**Step 4 of 5**

### Confirm with your transaction PIN or code [#confirm-with-your-transaction-pin-or-code]

Select "Withdraw", then enter your transaction PIN or transaction code. The receipts are held from your wallet until the withdrawal completes or is cancelled. The portal confirms the request with the amount and symbol, or says it is still processing and that you can follow it in "Actions". When a compliance claim of your gateway's client was revoked or expired, the client is flagged and the request is refused naming the flagged client. Nothing is held and no record is created.

**Step 5 of 5**

### Follow the withdrawal [#follow-the-withdrawal]

The withdrawal appears in the Withdraw dialog and as a "Withdrawal" row on the "Transfers" tab, with the payout address after "To" and the status.

### What each withdrawal status means [#what-each-withdrawal-status-means]

| Status | What it means | What you can do |
| --- | --- | --- |
| "Requested" | The gateway recorded the request. | Wait. It cannot be cancelled in this state. |
| "Waiting for payout address" | The request names no approved payout address. | Cancel, or name an approved payout address through the Platform API. The portal has no control for it. |
| "In review" | The request is being reviewed. | Cancel. |
| "Waiting for funds" | The request waits for the coins that pay it, in the order requests started waiting. | Cancel, once the gateway's cancel time limit has passed. |
| "Ready to collect" | Coins are set aside for this request. When the automatic payment failed, the row says to collect the coins yourself. | Collect, or Cancel when the payout address was suspended or removed. |
| "On hold" | The request is frozen and leaves the queue until the freeze ends. When the hold has an end date, the row shows it. | Wait. |
| "Completed" | The coins were paid to your payout address. | None. |
| "Returning receipts" | Your receipts are on their way back to your wallet. | Wait. |
| "Receipts returned" | Your receipts are back in your wallet, because you cancelled or the request was stopped, for example rejected in review. | None. |

## Cancel or collect a withdrawal [#cancel-or-collect-a-withdrawal]

**Step 1 of 2**

### Cancel a withdrawal [#cancel-a-withdrawal]

On a withdrawal row in the Withdraw dialog or on the "Transfers" tab, select "Cancel", then enter your transaction PIN or transaction code. The portal says "Withdrawal cancelled. The receipts are back in your wallet." and the row moves to "Receipts returned".

The "What you can do" column of [the withdrawal status table](#what-each-withdrawal-status-means) says which rows offer "Cancel", so you cannot always cancel. On a "Requested" row, and on an "On hold" row frozen from a status that offers "Cancel", the button shows but cannot be selected, and pointing at it or moving focus to it shows the reason. A "Ready to collect" row whose payout address was suspended or removed since you chose it offers "Cancel" in place of "Collect", because the coins can no longer be paid there. An "On hold" row frozen while ready to collect offers no action. When its payout address was suspended or removed, it shows a "Cancel" that cannot be selected instead. A "Returning receipts" row and a finished row offer no action. A request waiting for funds can be cancelled only after it has waited longer than the gateway's cancel time limit. When it is too early, the portal answers with the date from which you can cancel. The row keeps naming that date while you wait, and Cancel switches on by itself when the time arrives, with no reload. A gateway with no cancel time limit allows no cancelling of a request waiting for funds, and the portal says so.

**Step 2 of 2**

### Collect a withdrawal that is ready [#collect-a-withdrawal-that-is-ready]

On a "Ready to collect" row, select "Collect", then enter your transaction PIN or transaction code. The portal says "Collection requested. The coins are paid to your payout address." and the row moves to "Completed" once the payment lands. Collecting while your gateway's client is flagged is refused naming the flagged client, until the flag clears.

## Prove a self-custody wallet as a withdrawal destination [#prove-a-self-custody-wallet-as-a-withdrawal-destination]

A self-custody wallet is a wallet whose key you hold. Proving it shows that you control the address. A withdrawal goes only to a payout address a gateway manager approved for your gateway, so prove the wallet and ask your gateway manager to add it as a payout address.

**Step 1 of 4**

### Open the destinations page [#open-the-destinations-page]

In the sidebar, under "Personal", open "Withdrawal destinations". The page has two sections. "Self custody" lists the wallets you added, with the "Wallet", the "Network", the date "Added" and the "State". "Managed custody" lists the wallets your custodian holds for you, each with its provider and chain ID. A managed custody wallet takes no signature here, because the key stays with the custody provider. The section says "Your custody desk adds one of these as a withdrawal destination when you ask for it."

![Withdrawal destinations page with the Self custody table and the Managed custody list](https://docs.settlemint.com/docs/screenshots/portal-wallet-transfers-destinations.light.en.webp)

[Screenshot] The "Withdrawal destinations" page shows a "Self custody" section with an "Add a wallet" button and a table of wallets with their network, date added and state, then a "Managed custody" section listing the wallets your custodian holds.

**Step 2 of 4**

### Connect the wallet you want to add [#connect-the-wallet-you-want-to-add]

Select "Add a wallet". In the "Add a self-custody wallet" sheet, select "Connect wallet" and approve the connection in your browser wallet. The wallet you connect is the destination, on the network the wallet is connected to, so switch the wallet to the network you withdraw on first. The sheet shows the wallet's address, its name and the chain ID.

**Step 3 of 4**

### Sign the challenge [#sign-the-challenge]

Select "Add wallet", then approve the signature request in your browser wallet. Signing costs no gas and sends no transaction. The message names the organisation's identifier, the chain ID, the wallet address and an expiry, so you can check what you sign. The portal says "Wallet added", and the row shows "Awaiting clearance".

**Step 4 of 4**

### Wait for a custody operator to clear it [#wait-for-a-custody-operator-to-clear-it]

A custody operator reviews the wallet. When they clear it, the state becomes "Active". When they refuse it, the state becomes "Refused" and the row offers no action. The operator's reason shows under the state.

### Sign again or remove a wallet [#sign-again-or-remove-a-wallet]

A row in "Awaiting signature" has no accepted signature, for example because you closed the sheet before signing or the challenge expired. Select "Sign the challenge" on that row, connect the same wallet on the same network, and select "Sign the challenge" in the sheet. The platform issues a fresh challenge for the same entry, so the wallet keeps its row and you do not add it again.

After a custody operator clears a wallet, the gateway still needs it as an approved source for deposits and as an approved payout address for withdrawals. The operator raises both from the **Whitelist** panel on the gateway overview. Until they do, the wallet shows no deposit or withdrawal route.

Removing a wallet cannot be undone. A removed wallet takes no new withdrawal, and adding it again needs a new signature and a new clearance from a custody operator. To remove one, select "Remove" on its row, then select "Remove the wallet" to confirm, or "Keep the wallet" to stop. The row moves to "Removed". "Remove" is offered on wallets that are "Awaiting signature", "Awaiting clearance" or "Active".

## Troubleshooting [#troubleshooting]

**The dialog says No gateway yet**

No gateway serves the wallet you act with: the organisation has not created your gateway, or has not bound it to this
wallet. Ask them to do so before you deposit or withdraw.

**The Withdraw sheet says Nothing to withdraw**

Your wallet holds no custody receipts you can withdraw. Deposit coins first, and wait for the deposit to reach
"Completed".

**The Withdraw sheet says No approved destination**

You can withdraw only to a payout address approved for your gateway. Ask a gateway manager to approve one. A wallet
that is "Active" on Withdrawal destinations is a separate list and does not count until the gateway manager adds it.

**The fee could not be priced**

The sheet shows "The fee could not be priced. The request prices it again." and "Review" stays unavailable until a fee
shows. Change the amount to price it again. When the sheet says the fee covers the amount, enter a larger amount.

**The portal says The withdrawal was not requested**

The message carries the reason. The platform refuses a request to a payout address that was suspended or removed after
you chose it, and a request for more receipts than you hold free of custody holds. Choose another destination or a
smaller amount.

**The Withdraw sheet says Withdrawals are on hold**

The platform refused the request because your organisation has restricted your account from withdrawals. Ask your
organisation to lift the restriction, then request the withdrawal again.

**The browser wallet does not sign**

"No browser wallet found" means the page found no wallet extension: install or open one, then reload. "Another account
signed" means the wallet signed with a different account than the destination: connect the wallet you are proving.
"Another network is connected" means the wallet is on a different network from the destination: switch it and connect
again.

## Use the same routes from the API [#use-the-same-routes-from-the-api]

The Withdrawal destinations page uses the custody operations routes: `GET /api/v2/custody-ops/whitelist` lists your destinations, `POST /api/v2/custody-ops/whitelist` proposes one and returns the message to sign, `POST /api/v2/custody-ops/whitelist/{entryId}/proofs` sends the signature, and `POST /api/v2/custody-ops/whitelist/{entryId}/revocations` removes one. Every route is in the [Platform API reference](https://docs.settlemint.com/docs/api-reference/v2).

## You should see [#you-should-see]

- A deposit row that reads "Completed", and the receipt balance in the Deposit dialog showing the amount as "Available".
- A withdrawal row that reads "Completed", with your payout address after "To".
- A self-custody wallet whose row on Withdrawal destinations reads "Active".

## Related pages [#related-pages]

Use [Portfolio](https://docs.settlemint.com/docs/console/my-assets/portfolio) for the holdings the receipts sit in, [Bank transfers](https://docs.settlemint.com/docs/concepts/operating/investor-portal-bank-transfers) to fund your wallet from a bank account, and [Custody gateway](https://docs.settlemint.com/docs/concepts/custody-and-signing/custody-gateway) for what happens to a deposit or a withdrawal at each stage.
