Skip to main content

GraphQL API

We provide GraphQL API for solana programs instead of REST API since GraphQL is flexible, fast and developer-friendly. You can choose to query for the exact data you want from the program accounts and get it faster.

How to get data from GraphQL API?

Using curl

You can use a simple curl command to pass the query and get your desired data.

curl -X POST \
-H "Content-Type: application/json" \
-H "x-hasura-admin-secret: {your_admin_secret}" \
-d '{"query": "user { authority }"}' \
https://yourprogramendpoint.conciselabs.io/v1/graphql

Using GraphiQL

You can also play around with the queries using GraphiQL Playground

GraphQL Clients

There are many GraphQL clients available. Listing some of them below for your reference.

Javascript Client Python Client Rust Client Java/Kotlin Client Swift/Objective-C Client

Examples

Sample Query 1:

curl -X POST \
-H "Content-Type: application/json" \
-H "x-hasura-admin-secret: {your_admin_secret}" \
-d '{"query": "query StakeAccount {\n stakeaccount {\n bondedshares\n owner\n stakepool\n unbondingshares\n voterweightrecord\n }\n}"}' \
https://super-stag-90.hasura.app/v1/graphql

Response:

{
"data": {
"stakeaccount": [
{
"bondedshares": 0,
"owner": "BubwQg3rMQFk9V1DZSP5KFeZ4pNJh5RHc3Kh9SHnfY7j",
"stakepool": "4o7XLNe2NYtcxhFpiXYKSobgodsuQvHgxKriDiYqE2tP",
"unbondingshares": 0,
"voterweightrecord": "8GB8uK5y5wHKG28s4d5WF2hwGJQqopUNUYocgDfa3riK"
},
{
"bondedshares": 327694027,
"owner": "7skH3e6qq2wo7LwPJGz4MJ4xUKK6NYR2Y7Qw57g2CZqG",
"stakepool": "4o7XLNe2NYtcxhFpiXYKSobgodsuQvHgxKriDiYqE2tP",
"unbondingshares": 0,
"voterweightrecord": "AuqPcsbFS5VyjnAaQqLosaXAJDGa9bDji4Uy3K7c8nLj"
},
{
"bondedshares": 41983899522,
"owner": "5VzraLSQ96QinHQPt5K3MUPijczZJCy7r6PSZzunGTxL",
"stakepool": "4o7XLNe2NYtcxhFpiXYKSobgodsuQvHgxKriDiYqE2tP",
"unbondingshares": 0,
"voterweightrecord": "BFrhyYCgyJDx2XPzZ42iGXbSqbRLx1x55vo4tP9Shfuy"
},
...
...
{
"bondedshares": 839848739,
"owner": "4B6pBb6RXdYMVMrkj9eyWaz3Ljs6Y7uDrm8iKd5WwcX2",
"stakepool": "4o7XLNe2NYtcxhFpiXYKSobgodsuQvHgxKriDiYqE2tP",
"unbondingshares": 0,
"voterweightrecord": "kQH4rEG4deX93havJRTdXYzr6iTQFVaiggpi1VqPFZ5"
}
]
}
}

Sample Query 2:

curl -X POST \
-H "Content-Type: application/json" \
-H "x-hasura-admin-secret: {your_admin_secret}" \
-d '{"query": "query StakePool {\n stakepool {\n authority\n bonded\n bumpseed\n governancerealm\n maxvoterweightrecord\n seed\n seedlen\n stakecollateralmint\n stakepoolvault\n tokenmint\n unbonding\n unbondperiod\n vaultamount\n }\n}"}' \
https://super-stag-90.hasura.app/v1/graphql

Response:

{
"data": {
"stakepool": [
{
"authority": "CkkWJtdPoq22CVdfWBhV5vo9MXNVaPXJAjrVmsRpYGC1",
"bonded": {
"tokens": "1eb510c6f410c9",
"shares": "3ab3ba54366d36"
},
"governancerealm": "78TbURwqF71Qk4w1Xp6Jd2gaoQb6EC7yKBh5xDJmq6qh",
"maxvoterweightrecord": "3jNVDLb7bj4jYCzVKxbMqA5zE7eKkq3osLR7s9Qpwbm2",
"stakecollateralmint": "11111111111111111111111111111111",
"stakepoolvault": "CoiMvpzT7pPmncy81XvsLvfjvXKdkE4TgsYFpEY8Zroc",
"tokenmint": "JET6zMJWkCN9tpRT2v2jfAmm5VnQFDpUBCyaKojmGtz",
"unbonding": {
"tokens": "0170a3cdf9a76e",
"shares": "0e66660bc08a4c"
},
"unbondperiod": 2551443,
"vaultamount": 9048656777689144
}
]
}
}