Initiate an on-chain withdrawal

post/venue-adapter-service/api/vas/v1/initiate-withdrawal

Initiates an on-chain withdrawal from a venue account, used by Link.

Request Body

source object required
Source endpoint: credential the funds are withdrawn from, plus optional account sub-type pin
credentialExternalId string required
Min length: >= 1 characters
accountSubTypeOne of
Narrow keyof codec for the committed normalized constants. Use where a value MUST be one of the committed names (e.g. venue config's `normalized` field, where the venue mapping author commits to a known constant).
Allowed values: SPOT CROSS_MARGIN ISOLATED_MARGIN PERP_FUTURES DELIVERY_FUTURES OPTIONS FUNDING EARN UNIFIED
masterCredentialExternalId string required
Master credential for the venue. For venues with a parent-tree concept this is the main-account credential (required by venues like Gate / Bitget / KuCoin to authorize sub-account withdrawals); for single-credential venues with no tree this equals `source.credentialExternalId`. The adapter picks which credential to sign with.
Min length: >= 1 characters
asset string required
Asset identifier to withdraw
Min length: >= 1 characters
destinationAddress string required
On-chain destination address
Min length: >= 1 characters
memo string
Optional memo/tag for memo-based chains (e.g., XRP, EOS, ATOM)
Min length: >= 1 characters
linkTransferId string required
Transfer ID in Link, created in an initial state before calling VAS
Min length: >= 1 characters
amount string required
Amount to withdraw in full units
Min length: >= 1 characters
travelRuleData object
Optional travel rule data required for certain jurisdictions
beneficiaryAddress object
Beneficiary physical address
beneficiaryFinancialInstitution string
Name of the beneficiary financial institution
Min length: >= 1 characters
beneficiaryName object
Beneficiary legal name
beneficiaryWalletType string
Type of beneficiary wallet
Allowed values: WALLET_TYPE_SELF_HOSTED WALLET_TYPE_EXCHANGE
isSelf boolean
Whether the withdrawal is to the same entity

200 Response

transfer object required
credentialExternalId string required
Min length: >= 1 characters
transferId string required
Min length: >= 1 characters
type string required
Allowed values: INBOUND OUTBOUND INTERNAL_INBOUND INTERNAL_OUTBOUND
status string required
Allowed values: PENDING UNCONFIRMED CONFIRMED CANCELED FAILED
assetRaw string required
Min length: >= 1 characters
amount string required
Min length: >= 1 characters
createdAt string <date-time>required
detailsOne ofrequired
externalId string
Min length: >= 1 characters
transactionId string
Min length: >= 1 characters
network string
Min length: >= 1 characters
networkRaw string
Min length: >= 1 characters
confirmations number
asset string
Min length: >= 1 characters
feeAsset string
Min length: >= 1 characters
feeAssetRaw string
Min length: >= 1 characters
feeAmount string
Min length: >= 1 characters
accountSubTypeOne of
Narrow keyof codec for the committed normalized constants. Use where a value MUST be one of the committed names (e.g. venue config's `normalized` field, where the venue mapping author commits to a known constant).
Allowed values: SPOT CROSS_MARGIN ISOLATED_MARGIN PERP_FUTURES DELIVERY_FUTURES OPTIONS FUNDING EARN UNIFIED

400 Response

error string required
Min length: >= 1 characters
missingFields array[string]

404 Response

errorName string required
error string required

409 Response

errorName string required
error string required

422 Response

errorName string required
error string required

500 Response

errorName string required
error string required