We provide GraphQL API for solana programs instead of REST API because 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?
You can use a simple curl command to pass the query and get your desired data.
Copy curl -X POST -H "Content-Type: application/json" -H "x-hasura-admin-secret: {your_admin_secret}" -d '{"query": "user { authority }"}' https://yourprogram.conciselabs.io/v1/graphql
There are many GraphQL clients available. Listing some of them below for your reference.
Copy 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
Copy {
"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"
}
]
}
}
Copy 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
Copy {
"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
}
]
}
}