Get SVM transactions
curl --request GET \
--url https://api.sim.dune.com/beta/svm/transactions/{address} \
--header 'X-Sim-Api-Key: <api-key>'const options = {method: 'GET', headers: {'X-Sim-Api-Key': '<api-key>'}};
fetch('https://api.sim.dune.com/beta/svm/transactions/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sim.dune.com/beta/svm/transactions/{address}"
headers = {"X-Sim-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"next_offset": "eyJibG9ja190aW1lIjoxNjgwMDAwMDAwLCJpbmRleCI6MH0=",
"transactions": [
{
"address": "DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"block_slot": 123456789,
"block_time": 1680000000000000,
"chain": "solana",
"raw_transaction": {
"blockTime": 1680000000,
"meta": {
"err": null,
"fee": 5000,
"innerInstructions": [],
"logMessages": [
"Program 11111111111111111111111111111111 invoke [1]",
"Program 11111111111111111111111111111111 success"
],
"postBalances": [
499995000,
10000000
],
"postTokenBalances": [],
"preBalances": [
500000000,
0
],
"preTokenBalances": [],
"rewards": [],
"status": {
"Ok": null
}
},
"slot": 123456789,
"transaction": {
"message": {
"accountKeys": [
"DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
],
"header": {
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 1,
"numRequiredSignatures": 1
},
"instructions": [
{
"accounts": [
0,
1
],
"data": "3Bxs4h24hBtQy9rw",
"programIdIndex": 2
}
],
"recentBlockhash": "11111111111111111111111111111111"
},
"signatures": [
"5SzSbWKM9yZC7cCGMhUhvnYdWQytrk9NBaWwug1gQBKKwNEBvBKqPSfVeYYnZwUuUyvcCHgYhDkTRrB6YBfwzfv8"
]
}
}
}
]
}{
"message": "Invalid request"
}{
"error": "invalid API Key"
}{
"error": "Too many requests. Please contact sales@dune.com to increase your limit."
}{
"message": "Internal server error"
}Solana
Solana Transactions
Get transactions for a given SVM address
GET
/
beta
/
svm
/
transactions
/
{address}
Get SVM transactions
curl --request GET \
--url https://api.sim.dune.com/beta/svm/transactions/{address} \
--header 'X-Sim-Api-Key: <api-key>'const options = {method: 'GET', headers: {'X-Sim-Api-Key': '<api-key>'}};
fetch('https://api.sim.dune.com/beta/svm/transactions/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sim.dune.com/beta/svm/transactions/{address}"
headers = {"X-Sim-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"next_offset": "eyJibG9ja190aW1lIjoxNjgwMDAwMDAwLCJpbmRleCI6MH0=",
"transactions": [
{
"address": "DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"block_slot": 123456789,
"block_time": 1680000000000000,
"chain": "solana",
"raw_transaction": {
"blockTime": 1680000000,
"meta": {
"err": null,
"fee": 5000,
"innerInstructions": [],
"logMessages": [
"Program 11111111111111111111111111111111 invoke [1]",
"Program 11111111111111111111111111111111 success"
],
"postBalances": [
499995000,
10000000
],
"postTokenBalances": [],
"preBalances": [
500000000,
0
],
"preTokenBalances": [],
"rewards": [],
"status": {
"Ok": null
}
},
"slot": 123456789,
"transaction": {
"message": {
"accountKeys": [
"DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
],
"header": {
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 1,
"numRequiredSignatures": 1
},
"instructions": [
{
"accounts": [
0,
1
],
"data": "3Bxs4h24hBtQy9rw",
"programIdIndex": 2
}
],
"recentBlockhash": "11111111111111111111111111111111"
},
"signatures": [
"5SzSbWKM9yZC7cCGMhUhvnYdWQytrk9NBaWwug1gQBKKwNEBvBKqPSfVeYYnZwUuUyvcCHgYhDkTRrB6YBfwzfv8"
]
}
}
}
]
}{
"message": "Invalid request"
}{
"error": "invalid API Key"
}{
"error": "Too many requests. Please contact sales@dune.com to increase your limit."
}{
"message": "Internal server error"
}The Solana Transactions API allows for quick and accurate lookup of transactions associated with an address.
We currently only support Solana (Eclipse support coming soon).
Response Structure
The API returns a JSON object with the following top-level fields:| Field | Description | Type |
|---|---|---|
| next_offset | Pagination token for the next page of results | string/null |
| transactions | Array of transaction objects | array |
Transaction Object Fields
Each item in thetransactions array contains the following fields:
| Field | Description | Type |
|---|---|---|
| address | Wallet address | string |
| block_slot | Block’s sequential index | number |
| block_time | Timestamp of block creation (in microseconds) | number |
| chain | Name of the blockchain | string |
| raw_transaction | Raw transaction data from the RPC node at the time of ingestion | object |
See getTransaction RPC Method for more details about
raw_transaction.Ordering
The data is ordered by descending block time, so that new transactions will always be delivered first.Pagination
This endpoint is using cursor based pagination. You can use thelimit parameter to define the maximum page size.
Results might at times be less than the maximum page size.
The next_offset value is included in the response and can be utilized to fetch the next page of results by passing it as the offset query parameter in the next request.
You can only use the value from
next_offset to set the offset parameter of the next page of results. Using your own offset value will not have any effect.Compute Unit Cost
The Solana Transactions endpoint has a fixed CU cost of 1 per request. See the Compute Units page for detailed information.Authorizations
API key for authentication. Obtain your key from the Dune dashboard at sim.dune.com.
Path Parameters
SVM wallet address
Query Parameters
Maximum number of results to return. Default is 100 when not provided. Values above 1000 are reduced to 1000.
Required range:
1 <= x <= 1000Pagination offset from previous response
Was this page helpful?