Skip to main content

Withdrawals

Manage crypto withdrawals — configure auto-withdrawal rules and execute manual withdrawals.

Auto-Withdrawals

Get Auto-Withdrawal Settings

Retrieve the list of auto-withdrawal settings for crypto assets.

GET /api/company/auto-withdrawals

Headers

HeaderValue
AuthorizationBearer YOUR_PUBLIC_TOKEN
Content-Typeapplication/json

cURL

curl --location 'https://my.paidlys.com/api/company/auto-withdrawals' \
--header 'Authorization: Bearer YOUR_PUBLIC_TOKEN' \
--header 'Content-Type: application/json'

Response Structure

The response includes an autoWithdrawals array with the following fields for each asset:

FieldTypeDescription
assetIdstringName of the asset to be withdrawn
amountnumberThe auto-withdrawal threshold
isEnabledbooleantrue — enabled, false — disabled
withdrawalTagstring | nullTag for the receiving address. Required for tag-consistent assets (e.g., TON). null for non-required
withdrawalAddressstringAddress for auto-withdrawal to be received

Set Auto-Withdrawal Rule

Update the auto-withdrawal settings for a specific asset.

PATCH /api/company/auto-withdrawals

Headers

HeaderValue
AuthorizationBearer YOUR_PUBLIC_TOKEN
Content-Typeapplication/json

Request Body

{
"assets": {
"ton": {
"amount": 100,
"isEnabled": true,
"withdrawalTag": "memo123",
"withdrawalAddress": "UQBx..."
}
}
}

Request Parameters

FieldTypeRequiredDescription
amountnumberYesAuto-withdrawal threshold amount
isEnabledbooleanYesEnable (true) or disable (false) auto-withdrawals
withdrawalTagstringTON onlyTag for receiving address. Can be null for non-required assets
withdrawalAddressstringYesWithdrawal destination address

cURL

curl --location --request PATCH 'https://my.paidlys.com/api/company/auto-withdrawals' \
--header 'Authorization: Bearer YOUR_PUBLIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '<body>'

Body:

{
"assets": {
"ton": {
"amount": 100,
"isEnabled": true,
"withdrawalTag": "memo123",
"withdrawalAddress": "UQBx..."
}
}
}

Withdrawal Execution

Execute Withdrawal

Execute autoWithdrawals for crypto assets.

POST /api/transactions/withdraw

Headers

HeaderValue
authorizationBearer YOUR_PUBLIC_TOKEN
content-typeapplication/json

Request Body

{
"items": [
{
"amount": 5,
"tag": "memo123",
"to": "TNyG6gPkBsF8S8Sy6deirNCVVydVFTFK7c",
"asset": "trc20usdt"
}
]
}

Request Parameters

FieldTypeRequiredDescription
itemsarrayYesList of withdrawal items
items[].amountnumberYesNet amount to be sent and received by the receiver address
items[].tagstringTON onlyReceiver tag. Required if asset == ton, otherwise not required
items[].tostringYesReceiver's address
items[].assetstringYesAsset + network name (see Supported Assets)

Response

[
{
"message": "Transaction was successfully accepted by WL.",
"success": true,
"uid": "XXX-XXXXXXXX"
}
]
Address Validation

You will receive a validation error if the recipient's address format differs from the defined asset standard. However, if the address follows the same standard as the asset but belongs to a different network, a loss of funds may occur.

Notes
  • Any item's amount must not be lower than the minimal withdrawal amount for the defined asset
  • The amount parameter is a net amount — network fees are applied for each withdrawal item separately
  • The sum of all item amounts plus network fees must not exceed the asset's available balance
  • If only one withdrawal item is provided, a single withdrawal will be executed

Bulk Withdrawals

Withdraw funds to multiple addresses within one API call. Uses the same endpoint — simply provide multiple items in the items array.

POST /api/transactions/withdraw

cURL

curl --location 'https://my.paidlys.com/api/transactions/withdraw' \
--header 'authorization: Bearer YOUR_PUBLIC_TOKEN' \
--header 'content-type: application/json' \
--data '<body>'

Body:

{
"items": [
{
"amount": 12,
"to": "THFH4F2B8NcRrfRzrHMqZ2pJihMmwcuzpF",
"asset": "trc20usdt"
},
{
"amount": 15,
"to": "TQqoPSppzKMdAYGcFVwdtJSDA67xsumGzG",
"tag": "",
"asset": "trc20usdt"
},
{
"amount": 23.99,
"to": "TMKCSXKTTZXTwSN5YRNFFHmMMXP8EkfDHU",
"tag": "",
"asset": "trc20usdt"
}
]
}

Response

Each item in the request produces a corresponding response entry:

[
{
"message": "Transaction was successfully accepted by WL.",
"success": true,
"uid": "XXX-XXXXXXXX"
},
{
"message": "Transaction was successfully accepted by WL.",
"success": true,
"uid": "XXX-XXXXXXXX"
},
{
"message": "Transaction was successfully accepted by WL.",
"success": true,
"uid": "XXX-XXXXXXXX"
}
]