Perps - Wallet Transfers
curl --request POST \
--url https://public-api.birdeye.so/perps/v1/wallet/transfers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"wallet": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"sort_type": "desc",
"limit": 1,
"cursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
}
'import requests
url = "https://public-api.birdeye.so/perps/v1/wallet/transfers"
payload = {
"wallet": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"sort_type": "desc",
"limit": 1,
"cursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
wallet: '0x5b5d51203a0f9079f8aeb098a6523a13f298c060',
sort_type: 'desc',
limit: 1,
cursor: 'MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh'
})
};
fetch('https://public-api.birdeye.so/perps/v1/wallet/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"data": [
{
"time": 1789340787,
"hash": "0xe862f3d735dc25efe9dc044458016f0202d200bcd0df44c18c2b9f29f4dfffda",
"type": "Send",
"sender": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"recipient": "0x2000000000000000000000000000000000000000",
"token": "USDC",
"amount": 4000000,
"usdc_value": 4000000,
"fee": 0.00002,
"fee_token": "HYPE",
"source_dex": "spot",
"destination_dex": "spot",
"display_type": "Send"
}
],
"nextCursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
},
"success": true
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}Perps Wallet
Perps Wallet Transfers
POST
/
perps
/
v1
/
wallet
/
transfers
Perps - Wallet Transfers
curl --request POST \
--url https://public-api.birdeye.so/perps/v1/wallet/transfers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"wallet": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"sort_type": "desc",
"limit": 1,
"cursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
}
'import requests
url = "https://public-api.birdeye.so/perps/v1/wallet/transfers"
payload = {
"wallet": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"sort_type": "desc",
"limit": 1,
"cursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
wallet: '0x5b5d51203a0f9079f8aeb098a6523a13f298c060',
sort_type: 'desc',
limit: 1,
cursor: 'MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh'
})
};
fetch('https://public-api.birdeye.so/perps/v1/wallet/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"data": [
{
"time": 1789340787,
"hash": "0xe862f3d735dc25efe9dc044458016f0202d200bcd0df44c18c2b9f29f4dfffda",
"type": "Send",
"sender": "0x5b5d51203a0f9079f8aeb098a6523a13f298c060",
"recipient": "0x2000000000000000000000000000000000000000",
"token": "USDC",
"amount": 4000000,
"usdc_value": 4000000,
"fee": 0.00002,
"fee_token": "HYPE",
"source_dex": "spot",
"destination_dex": "spot",
"display_type": "Send"
}
],
"nextCursor": "MHg1YjVkNTEyMDNhMGY5MDc5ZjhhZWIwOThhNjUyM2ExM2YyOThjMDYwLTE3ODkzNDA2NjAzMzYtMHhiOWI5MzcwMTE1M2JkNDFmYmIzMjA0NDQ1N2ZhNzgwMjAxNGIwMGU2YjAzZWYyZjE1ZDgxZTI1M2Q0M2ZhZTBh"
},
"success": true
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
- Returns historical transfers associated with one Hyperliquid wallet.
- Use
sort_typeto read transfers in ascending or descending time order. - Use the returned
nextCursorascursorin the next request. limitdefaults to10and supports up to20records per request.
- Lite
- Starter
- Premium
- Business
- Enterprise
Hyperliquid
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
5 CUper request.
Use Cases 💡
Use Cases 💡
- Track deposits, withdrawals, and internal asset movements for a perp wallet.
- Reconcile wallet funding activity with trading and PnL changes.
- Build transfer histories for trader research and operational monitoring.
How to Use 🛠️
How to Use 🛠️
- Pass a Hyperliquid wallet address in the request body.
- Start with an empty cursor and use
nextCursorto continue pagination. - Use
sort_type=descfor the newest transfers first orsort_type=ascfor chronological processing.
Best Practices ✅
Best Practices ✅
- Persist the cursor when processing long histories.
- Use the transaction hash to reconcile transfer records with external transaction data.
- Combine transfers with Wallet Overview and Trade Fills to explain changes in wallet exposure.
Authorizations
API key for authentication
Body
application/json
Was this page helpful?

