Skip to main content
POST
/
v2
/
portfolio-wallets
/
{id}
/
withdraw
Withdraw from a portfolio wallet
curl --request POST \
  --url https://sandbox.trybraid.xyz/v2/portfolio-wallets/{id}/withdraw \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "requestId": "df8b7be6-e110-4f6d-9b2d-7c44a5b1f0b0",
  "withdrawalAmount": 65000,
  "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "destinationToken": "usdc",
  "destinationChain": "ethereum"
}
'
{
  "id": "11b17950-1f5c-4d36-8f0d-0f3d1d0c6a45",
  "requestId": "df8b7be6-e110-4f6d-9b2d-7c44a5b1f0b0",
  "createdAt": "2026-02-05T11:00:00.000Z",
  "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
  "status": "pending_approval",
  "withdrawalAmount": 65000,
  "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "destinationChain": "ethereum",
  "destinationToken": "usdc",
  "turnkeyActivityId": "activity-8f8c1b7f3b24",
  "turnkeyActivityStatus": "COMPLETED",
  "payouts": [
    {
      "legKey": "instant",
      "amount": 35000,
      "token": "usdc",
      "chain": "ethereum",
      "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "status": "completed"
    },
    {
      "legKey": "redeem",
      "amount": 30000,
      "token": "usdc",
      "chain": "ethereum",
      "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "status": "processing"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Body

application/json
requestId
string<uuid>
required
withdrawalAmount
number<double>
required
destinationAddress
string
required
destinationToken
string
required
destinationChain
string
required

Response

Withdrawal created

id
string<uuid>
required
requestId
string<uuid>
required
portfolioWalletId
string<uuid>
required
status
enum<string>
required
Available options:
pending_approval,
created,
processing,
partially_completed,
completed,
failed
withdrawalAmount
number<double>
required
destinationToken
string
required
destinationChain
string
required
destinationAddress
string
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
failureReason
string | null
plannedLegs
object[]

Planned payout legs. legKey values are dynamic and can vary based on liquidity routing.

legStatuses
object

Current status per payout leg. A withdrawal is complete when all legs are completed or skipped.

completedAt
string<date-time> | null
turnkeyActivityId
string | null
turnkeyActivityStatus
string | null
payouts
object[]