curl --request POST \
--url https://public-api.birdeye.so/defi/v3/token/money-flow \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"wallet_tags": [
"kol"
],
"frames": [
"1m",
"5m",
"30m",
"1h",
"2h",
"4h",
"8h",
"24h"
],
"wallets": [
"BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc"
]
}
'import requests
url = "https://public-api.birdeye.so/defi/v3/token/money-flow"
payload = {
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"wallet_tags": ["kol"],
"frames": ["1m", "5m", "30m", "1h", "2h", "4h", "8h", "24h"],
"wallets": ["BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc"]
}
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({
token_address: 'Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec',
wallet_tags: ['kol'],
frames: ['1m', '5m', '30m', '1h', '2h', '4h', '8h', '24h'],
wallets: ['BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc']
})
};
fetch('https://public-api.birdeye.so/defi/v3/token/money-flow', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"uniq_trader": 7,
"trader_buy": 2,
"trader_sell": 6,
"frame": "1h",
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"tag": "kol",
"unix_time": 1789700400,
"total_amount_buy": "0",
"total_amount_sell": "3327368316844",
"total_ui_amount_buy": 0,
"total_ui_amount_sell": 3327368.316844,
"total_value_buy": 0,
"total_value_sell": 2109.8829944816816,
"total_tx_buy": 0,
"total_tx_sell": 2,
"last_unix_time": 1789701201,
"last_block_number": 447962632
}
]{
"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"
}Token Money Flow
Retrieve token money flow metrics across selected time frames, wallet tags, and wallet addresses.
curl --request POST \
--url https://public-api.birdeye.so/defi/v3/token/money-flow \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"wallet_tags": [
"kol"
],
"frames": [
"1m",
"5m",
"30m",
"1h",
"2h",
"4h",
"8h",
"24h"
],
"wallets": [
"BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc"
]
}
'import requests
url = "https://public-api.birdeye.so/defi/v3/token/money-flow"
payload = {
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"wallet_tags": ["kol"],
"frames": ["1m", "5m", "30m", "1h", "2h", "4h", "8h", "24h"],
"wallets": ["BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc"]
}
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({
token_address: 'Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec',
wallet_tags: ['kol'],
frames: ['1m', '5m', '30m', '1h', '2h', '4h', '8h', '24h'],
wallets: ['BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc']
})
};
fetch('https://public-api.birdeye.so/defi/v3/token/money-flow', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"uniq_trader": 7,
"trader_buy": 2,
"trader_sell": 6,
"frame": "1h",
"token_address": "Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec",
"tag": "kol",
"unix_time": 1789700400,
"total_amount_buy": "0",
"total_amount_sell": "3327368316844",
"total_ui_amount_buy": 0,
"total_ui_amount_sell": 3327368.316844,
"total_value_buy": 0,
"total_value_sell": 2109.8829944816816,
"total_tx_buy": 0,
"total_tx_sell": 2,
"last_unix_time": 1789701201,
"last_block_number": 447962632
}
]{
"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
Token money flow grouped by time frame and wallet cohort.
- Use
wallet_tagsto select supported wallet cohorts such as smart money or KOLs. - Use
framesto request one or more aggregation windows. - Use
walletsto scope the calculation to specific wallets when needed. - Wallets are deduplicated when a wallet belongs to more than one selected tag.
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
10 CUper request.
Use Cases 💡
Use Cases 💡
- Measure buying and selling pressure from selected wallet cohorts.
- Build smart-money dashboards, alerts, and token-flow screens.
- Compare money flow across multiple time frames.
How to Use 🛠️
How to Use 🛠️
- Set
x-chain=solanaand provide a token address. - Select one or more
frames, wallet tags, or explicit wallet addresses. - Use the returned buy/sell totals, transaction counts, and trader counts for the selected window.
Best Practices ✅
Best Practices ✅
- Keep the selected frames consistent when comparing tokens.
- Use explicit wallet tags for cohort analysis and explicit wallet addresses for targeted investigations.
- Combine money flow with price, liquidity, holder, and security data before making decisions.
Authorizations
API key for authentication
Headers
Solana network only.
solana Body
"Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec"
all includes wallets from all currently supported tags. Wallets are deduplicated, so if the same wallet belongs to multiple tags (for example, both whales and kol), it will only be included once.
all, smart_money, kol, whales ["smart_money", "kol"]
81m, 5m, 30m, 1h, 2h, 4h, 8h, 24h [
"1m",
"5m",
"30m",
"1h",
"2h",
"4h",
"8h",
"24h"
]
50[
"BkRUpYSosGE1EfdYHR56Rwh3QRHbd1AbHVqsh99U6DEc"
]
Response
List of token money flow data grouped by frame and wallet tag
Time frame used to aggregate the money flow data.
1m, 5m, 30m, 1h, 2h, 4h, 8h, 24h "1h"
Address of the token for which the money flow data is calculated.
"Wd1YoGzJY8m6y16jxENtP41RogQUeSxJJC6eGQdUzec"
Wallet tag used to group and aggregate the money flow data.
all, smart_money, kol, whales "kol"
timestamp representing the start time of the data window for this frame.
1789700400
raw token amount bought during the frame, expressed in the token's smallest unit.
"0"
raw token amount sold during the frame, expressed in the token's smallest unit.
"3327368316844"
token amount bought during the frame, adjusted for the token's decimals.
0
token amount sold during the frame, adjusted for the token's decimals.
3327368.316844
value of all buy transactions during the frame.
0
value of all sell transactions during the frame.
2109.8829944816816
number of buy transactions during the frame.
0
number of sell transactions during the frame.
2
timestamp of the most recent transaction included in this aggregated data.
1789701201
number of the most recent transaction included in this aggregated data.
447962632
Number of unique wallets that performed at least one buy or sell transaction during the frame.
7
Number of unique wallets that performed at least one buy transaction during the frame.
2
Number of unique wallets that performed at least one sell transaction during the frame.
6
Was this page helpful?

