Get deposit addresses, follow deposits and withdrawals, manage withdrawal addresses and send internal transfers. Withdrawals need account level 3 and a current 2FA code in every request.
Destination tags. On networks that use a tag or memo, such as XRP, the tag is part of the address: rXXXXXXXX…?dt=123456. Deposit addresses are issued in this form. When you add a withdrawal address, include the recipient's tag the same way; without it the withdrawal is sent with tag 0 and an exchange account on the other side may not be credited.
The currency of a deposit address or withdrawal selects the network, for example usdt.trc20 or usdt (ERC-20). Network ids are listed in GET /api/v2/peatio/public/currencies.
A new deposit address can take a moment to generate: while address is null, retry after a few seconds.
Withdrawals go to a saved address (beneficiary). New beneficiaries are active immediately. Each withdrawal needs the beneficiary id and a current 2FA code (otp).
Returns your deposit address for a coin currency, generating one on first request. While generation is in progress address is null and state is "pending" - retry after a few seconds. currencies lists every currency that can be deposited to the same address. For XRP the address carries your destination tag as ?dt=<tag>; send both. Requires account level >= 1.
Parameters
Name
In
Type
Description
currencyrequired
path
string
Coin currency code, e.g. btc or usdt.trc20.
Responses
Status
Description
200
Deposit address.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/deposit_address/usdt.trc20"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/deposit_address/usdt.trc20"));
List deposits
GET/api/v2/peatio/account/depositsAPI key
Returns your deposit history, newest first. Time filters apply to the last update time. Paginated. Requires account level >= 1.
Parameters
Name
In
Type
Description
currency
query
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
state
query
string
Filter by state. One of: submitted, canceled, rejected, accepted, aml_processing, aml_suspicious, processing, skipped, collected, fee_processing, errored, refunding.
txid
query
string
Blockchain transaction id.
time_from
query
integer
Unix time in seconds; only deposits updated at or after this time.
time_to
query
integer
Unix time in seconds; only deposits updated at or before this time.
limit
query
integer
Page size, 1-100 (default 100).
page
query
integer
Page number, starting at 1 (default 1).
Responses
Status
Description
200
Array of deposits.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/deposits"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/deposits"));
Get a deposit
GET/api/v2/peatio/account/deposits/{txid}API key
Returns one of your deposits by blockchain transaction id. Requires account level >= 1.
Parameters
Name
In
Type
Description
txidrequired
path
string
Blockchain transaction id.
Responses
Status
Description
200
Deposit.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/deposits/0x3f1c…e9a2"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/deposits/0x3f1c…e9a2"));
List withdrawals
GET/api/v2/peatio/account/withdrawsAPI key
Returns your withdrawal history, newest first. Time filters apply to the last update time. Paginated. Requires account level >= 3.
Parameters
Name
In
Type
Description
currency
query
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
state
query
string
Filter by state. One of: prepared, rejected, accepted, skipped, processing, succeed, canceled, failed, errored, confirming, under_review.
rid
query
string
Destination address.
time_from
query
integer
Unix time in seconds; only withdrawals updated at or after this time.
time_to
query
integer
Unix time in seconds; only withdrawals updated at or before this time.
limit
query
integer
Page size, 1-100 (default 100).
page
query
integer
Page number, starting at 1 (default 1).
Responses
Status
Description
200
Array of withdrawals.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/withdraws"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/withdraws"));
Withdrawal totals
GET/api/v2/peatio/account/withdraws/sumsAPI key
Returns the value of your withdrawals in the last 24 hours and the last month, each summed as amount x the currency's current price (see /public/currencies), counting withdrawals that are pending, in progress or succeeded. Requires account level >= 3.
Responses
Status
Description
200
Totals.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/withdraws/sums"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/withdraws/sums"));
Create a withdrawal
POST/api/v2/peatio/account/withdrawsAPI key
Withdraws funds to one of your saved beneficiaries (addresses). Requires account level >= 3 and the current 6-digit code from your authenticator app in otp. The currency parameter selects the asset and network, e.g. usdt.trc20. amount is debited from your balance and the currency's withdraw_fee is taken out of it, so the recipient receives amount - withdraw_fee.
Parameters
Name
In
Type
Description
currencyrequired
body
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
amountrequired
body
string
Amount debited from your balance (fee included), > 0, within the currency precision.
beneficiary_idrequired
body
integer
Id of one of your active beneficiaries (GET /account/beneficiaries).
otprequired
body
integer
Current 6-digit TOTP code from your authenticator app.
note
body
string
Optional note, up to 256 characters.
Responses
Status
Description
201
Withdrawal created.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
state
query
string
Filter by state. One of: active, pending.
limit
query
integer
Page size, 1-1000 (default 100).
page
query
integer
Page number, starting at 1 (default 1).
Responses
Status
Description
200
Array of beneficiaries.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
Returns one of your beneficiaries. Requires account level >= 3.
Parameters
Name
In
Type
Description
idrequired
path
integer
Beneficiary id.
Responses
Status
Description
200
Beneficiary.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("GET", "/api/v2/peatio/account/beneficiaries/42"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("GET", "/api/v2/peatio/account/beneficiaries/42"));
Add a beneficiary
POST/api/v2/peatio/account/beneficiariesAPI key
Saves a withdrawal address. For coins data must contain address (it must be a well-formed address on a supported chain; for XRP append the destination tag as ?dt=<tag>); for fiat currencies data must contain at least full_name. On this exchange new beneficiaries are created directly in active state (no PIN confirmation step). Requires account level >= 3.
Parameters
Name
In
Type
Description
currencyrequired
body
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
namerequired
body
string
Label for the address, up to 64 characters.
description
body
string
Optional description, up to 255 characters.
datarequired
body
object
JSON object: {"address": "..."} for coins, {"full_name": "...", ...} for fiat.
Responses
Status
Description
201
Beneficiary created.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("POST", "/api/v2/peatio/account/beneficiaries", body={"currency": "usdt.trc20", "name": "My TRON wallet", "data": {"address": "TXYZ…your-address"}}))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("POST", "/api/v2/peatio/account/beneficiaries", {"currency":"usdt.trc20","name":"My TRON wallet","data":{"address":"TXYZ…your-address"}}));
Archives one of your beneficiaries; it can no longer be used for withdrawals. Requires account level >= 3.
Parameters
Name
In
Type
Description
idrequired
path
integer
Beneficiary id.
Responses
Status
Description
204
Deleted (no body).
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
# ex5_request(): see /docs/authentication
print(ex5_request("DELETE", "/api/v2/peatio/account/beneficiaries/42"))
// ex5Request(): see /docs/authentication
console.log(await ex5Request("DELETE", "/api/v2/peatio/account/beneficiaries/42"));
Deposit and withdrawal history
GET/api/v2/peatio/account/transactionsAPI key
Returns your deposits and withdrawals in one list, sorted by last update time. type tells them apart (e.g. "Deposits::Coin", "Withdraws::Coin"). For withdrawals amount is the net amount sent (requested amount minus fee). Time filters apply to the last update time. Paginated. Requires account level >= 3 (both the deposit and the withdrawal level gates apply).
Parameters
Name
In
Type
Description
currency
query
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
deposit_state
query
string
Only deposits in this state (see List deposits).
withdraw_state
query
string
Only withdrawals in this state (see List withdrawals).
txid
query
string
Blockchain transaction id.
time_from
query
integer
Unix time in seconds; only records updated at or after this time.
time_to
query
integer
Unix time in seconds; only records updated at or before this time.
order_by
query
string
Sort by update time (default desc). One of: asc, desc.
limit
query
integer
Page size, 1-1000 (default 100).
page
query
integer
Page number, starting at 1 (default 1).
Responses
Status
Description
200
Array of transactions.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
403
Account level too low: account.deposit.not_permitted or account.withdraw.not_permitted.
422
Validation error, e.g. {"errors":["public.market.doesnt_exist"]}.
Response fields
Field
Type
Description
address
string
Deposit address or withdrawal destination.
currency
string
Currency code.
amount
string (decimal)
Deposits: amount credited. Withdrawals: NET amount sent (requested amount - fee), unlike /account/withdraws which reports the gross amount.
fee
string (decimal)
Fee.
txid
string | null
Blockchain transaction id.
state
string
Deposit or withdrawal state.
note
string | null
Withdrawal note.
confirmations
integer
Confirmations.
created_at
string (ISO 8601 datetime, UTC)
Creation time.
updated_at
string (ISO 8601 datetime, UTC)
Last update.
type
string
Record class, e.g. "Deposits::Coin", "Withdraws::Coin".
Returns transfers you sent to or received from other EX5 users, newest first. direction is "in" or "out". Paginated; when limit is not given the page size is 10.
Parameters
Name
In
Type
Description
currency
query
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
state
query
string
Filter by state; the only state is completed.
limit
query
integer
Page size, up to 1000 (default 10).
page
query
integer
Page number, starting at 1 (default 1).
Responses
Status
Description
200
Array of internal transfers.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
Moves funds instantly to another EX5 user identified by username or UID. Requires the current 6-digit TOTP code in otp.
Parameters
Name
In
Type
Description
currencyrequired
body
string
Currency code, e.g. btc, usdt or a network currency such as usdt.trc20 (see GET /api/v2/peatio/public/currencies).
amountrequired
body
string
Amount to send, > 0.
username_or_uidrequired
body
string
Recipient username or UID (e.g. ID1234567890).
otprequired
body
integer
Current 6-digit TOTP code from your authenticator app.
Responses
Status
Description
201
Transfer completed.
401
Rejected by the API gateway: missing/invalid API-key headers, nonce outside the 5 s window, bad signature, inactive key, 2FA disabled on the account, or no permission for this path. Body {"errors":["authz.<reason>"]} (Content-Type is text/plain).
422
e.g. account.internal_transfer.receiver_not_found, account.internal_transfer.invalid_otp, account.internal_transfer.insufficient_balance, account.internal_transfer.can_not_tranfer_to_yourself.