---
title: "Request withdrawal"
method: POST
path: "/user/{appId}/request-withdraw"
tags: ["User"]
---

# Request withdrawal

`POST /user/{appId}/request-withdraw`

Generates an ERC-4337 UserOperation for withdrawing tokens from the agent smart account back to the user. The user must sign the UserOperation to authorize the withdrawal.

## Path parameters

- `appId` number, required

## Request body

- RequestWithdrawRequest
  - `userControllerAddress` string, required — EOA address that controls the user smart wallet, used to derive the agent smart account
  - `assets` object[], required — Array of assets to withdraw. Assets on the same network will be batched into a single UserOperation
    - `network` string, required — Network identifier (e.g., "ethereum", "base-mainnet")
    - `tokenAddress` string, required — ERC-20 contract address. Use zero address (0x0000000000000000000000000000000000000000) for native tokens
    - `amount` number, required — Amount to withdraw, naturalized by the token decimal value

## Response `200`

Withdrawal UserOperation returned successfully

- RequestWithdrawResponse
  - `withdrawals` object[], required — Array of UserOperations, one per unique network. Sign each to authorize withdrawals on that network
    - `network` string, required — Network identifier for this withdrawal
    - `userOp` object, required — The ERC-4337 UserOperation. Pass this back to complete-withdraw along with the signature.
    - `userOpHash` string, required — The hash to sign. Sign this with your EOA wallet using personal_sign or signMessage.
  - `errors` object[] — Array of errors for networks that failed to prepare
    - `network` string, required — Network identifier where the error occurred
    - `error` string, required — Error message describing what went wrong

## Other responses

- `400` — Bad request
- `404` — App not found
- `default` — Error

---

[API](https://skmtc.net/lit-protocol/apis/vincent-registry-api.md) · [All operations](https://skmtc.net/lit-protocol/apis/vincent-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lit-protocol/vincent-registry-api/versions/825608de85fb/schema)
