v1

latestOpenAPI 3.0.32026-07-26184851.6 MB
Withdraw

Master Wallet Sign-Only

This endpoint allows you to sign a withdrawal from a specific wallet without broadcasting

Body Parameters

KeyRequiredTypeDescription
assetIdtrue*string (UUID)The ID of the asset to withdraw. Required if assets array is not provided.
addresstrue*stringThe destination wallet address for the withdrawal. Required if assets array is not provided.
amounttrue*stringThe withdrawal amount. Must be greater than 0. Required if assets array is not provided.
referencefalsestringAn optional reference note for the withdrawal.
notefalsestringA short message or internal remark to associate with this withdrawal. Not visible on-chain.
metadatafalseobjectOptional metadata (key-value pairs) for additional transaction details.
assetsfalsearray of AssetUsed for batch withdrawals. Required if assetId, amount, and address are not provided.

Asset (for Batch Withdrawals)

KeyRequiredTypeDescription
idtruestring (UUID)The ID of the asset to withdraw.
amounttruestringThe withdrawal amount. Must be greater than 0.
addresstruestringThe destination wallet address for the withdrawal.
referencefalsestringOptional reference note for this asset withdrawal.
notefalsestringA short message or internal remark for this asset withdrawal. Not visible on-chain.
metadatafalseobjectOptional metadata (key-value pairs) for this asset withdrawal.

Notes

  • Single withdrawal: Provide assetId, amount, and address at the top level.
  • Batch withdrawal: Omit top-level assetId, amount, and address, and instead provide an array of assets (each following Asset).
post/v1/wallets/{walletId}/withdraw/sign

Request body

Example request

{
  "assets": [
    {
      "address": "0xRecipient1Address",
      "amount": "10.5",
      "id": "{{assetId1}}",
      "reference": "sign-001"
    },
    {
      "address": "0xRecipient2Address",
      "amount": "25.0",
      "id": "{{assetId2}}",
      "reference": "sign-002"
    }
  ]
}

Response

Withdrawa (Batch)

messagestring
statusCodenumber

Example response

{
  "data": {
    "errors": [],
    "success": [
      {
        "hash": "0xsignedhash1...",
        "id": "tx-uuid-1",
        "signedTransaction": "0xf86c..."
      },
      {
        "hash": "0xsignedhash2...",
        "id": "tx-uuid-2",
        "signedTransaction": "0xf86d..."
      }
    ]
  },
  "message": "Batch withdrawal signed (2/2 successful)",
  "statusCode": 200
}