Solscan API Tutorial
This tutorial aims to be a quick guide to get you started using the Solscan API integrated into messari’s python library.
[2]:
from messari.blockexplorers import Solscan
ss = Solscan()
API Structure
The Solscan API Python client contains a number of functions that wrap some of Solscan’s API endpoints. These include:
Blocks
get_last_blocks
get_block_last_transactions
get_block
Transactions
get_last_transactions
get_transaction
Accounts
get_account_tokens
get_account_transactions
get_account_stake
get_account_spl_transactions
get_account_sol_transactions
get_account_export_transactions
get_account
Tokens
get_token_holders
get_token_meta
get_token_list
Markets
get_market_info
Chains
get_chain_info
Below are a few examples to showcase the functionality and types of data each function generates.
Blocks
get_last_blocks
returns info for last num_blocks (default is 1, limit is 20)
[2]:
last_blocks = ss.get_last_blocks(num_blocks=10)
last_blocks.head()
[2]:
result | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
blockHeight | blockTime | blockhash | parentSlot | previousBlockhash | feeRewards | validator | transactionCount | code | message | |
0 | 99400261.0 | 1.638813e+09 | 3A1bhWg9Vg6dqQoRos9WtQSb8ujfUK1xE9LVooWULhFW | 110340261.0 | PXmDCpr39WMXjEXnT41DVGHMrBhcKkokM7bSKas29z3 | 2295000.0 | 3zqJYiE5oAtm8XqNnG5n1Wd45STF7wmpsNRusGmQ5LWC | 905.0 | NaN | NaN |
1 | 99400260.0 | 1.638813e+09 | PXmDCpr39WMXjEXnT41DVGHMrBhcKkokM7bSKas29z3 | 110340260.0 | DSHKVXkVWh3E4gXsaLsm7QMypmUB6dXk2wmVViZzUVt3 | 2870000.0 | 3zqJYiE5oAtm8XqNnG5n1Wd45STF7wmpsNRusGmQ5LWC | 1138.0 | NaN | NaN |
2 | 99400259.0 | 1.638813e+09 | DSHKVXkVWh3E4gXsaLsm7QMypmUB6dXk2wmVViZzUVt3 | 110340259.0 | 6SeW4gNrMj5iMzADjeSHSPx7k7MvqP8DS6Xp6bYXiCW5 | 4095000.0 | 3zqJYiE5oAtm8XqNnG5n1Wd45STF7wmpsNRusGmQ5LWC | 1617.0 | NaN | NaN |
3 | 99400258.0 | 1.638813e+09 | 6SeW4gNrMj5iMzADjeSHSPx7k7MvqP8DS6Xp6bYXiCW5 | 110340258.0 | 4WwSyAqGasr15YdHyezii4BVVnyHFen8Zp19HkfSe3kX | 1957500.0 | 9Ukj3PkyD3igEDJGt1QTj9ThzjK6hMiadQfa3gm7kjf1 | 768.0 | NaN | NaN |
4 | 99400257.0 | 1.638813e+09 | 4WwSyAqGasr15YdHyezii4BVVnyHFen8Zp19HkfSe3kX | 110340257.0 | HHXabEZctn4jGMoGhJ76e6WBAb1CPfV5sXB1bofckkpf | 1815000.0 | 9Ukj3PkyD3igEDJGt1QTj9ThzjK6hMiadQfa3gm7kjf1 | 706.0 | NaN | NaN |
get_block_last_transactions
get last num_transactions (default is 10) transactions of given block numbers
[19]:
blocks = ['109452586', '109452587']
block_last_transactions = ss.get_block_last_transactions(blocks, num_transactions=7)
block_last_transactions.head()
[19]:
109452586 | ... | 109452587 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
meta | ... | meta | transaction | ||||||||||||||||||
err | fee | innerInstructions | logMessages | postBalances | postTokenBalances | preBalances | preTokenBalances | rewards | status | ... | innerInstructions | logMessages | postBalances | postTokenBalances | preBalances | preTokenBalances | rewards | status | message | signatures | |
0 | None | 5000 | [] | [Program Vote111111111111111111111111111111111... | [7823553170, 24877594446, 143487360, 1169280, 1] | [] | [7823558170, 24877594446, 143487360, 1169280, 1] | [] | [] | {'Ok': None} | ... | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [133789020000, 23942400, 1169280, 1141440] | [] | [133789025000, 23942400, 1169280, 1141440] | [] | [] | {'Ok': None} | {'accountKeys': [{'pubkey': 'AmmvowPnL2z1CVGR2... | [5RZDigDYBPbEEZquFtdxoFojuxd6mXNR2ioinGCLFWryC... |
1 | None | 5000 | [] | [Program Vote111111111111111111111111111111111... | [157342449420, 526295101974, 143487360, 116928... | [] | [157342454420, 526295101974, 143487360, 116928... | [] | [] | {'Ok': None} | ... | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [29112031780, 23942400, 1169280, 1141440] | [] | [29112036780, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': 'Y2akr3bXHRsqyP1QJ... | [4A13E9gc28KYUtk72MNKG82UecC7qGca45ki5TuXF75MC... |
2 | None | 5000 | [] | [Program Vote111111111111111111111111111111111... | [48148996950, 26858640, 143487360, 1169280, 1] | [] | [48149001950, 26858640, 143487360, 1169280, 1] | [] | [] | {'Ok': None} | ... | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [42412955000, 23942400, 1169280, 1141440] | [] | [42412960000, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': 'H8JEG2wjU2LnjXJUV... | [4yhTuQ5sU85DcRdbxEyFbm9tz1GQoSZPNEiwfobiVw1Aq... |
3 | None | 5000 | [] | [Program Vote111111111111111111111111111111111... | [31289817916, 6088444438, 143487360, 1169280, 1] | [] | [31289822916, 6088444438, 143487360, 1169280, 1] | [] | [] | {'Ok': None} | ... | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [98864590000, 23942400, 1169280, 1141440] | [] | [98864595000, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': 'HekM1hBawXQu6wK6A... | [48ZECs4cwUD69LNaTkPS3BAXbshMURxEnARLS1X1ES7hJ... |
4 | None | 5000 | [] | [Program Vote111111111111111111111111111111111... | [130881088161, 201128364143, 143487360, 116928... | [] | [130881093161, 201128364143, 143487360, 116928... | [] | [] | {'Ok': None} | ... | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [29112026780, 23942400, 1169280, 1141440] | [] | [29112031780, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': 'Y2akr3bXHRsqyP1QJ... | [39egvPjtd31euZL2jdrzPBcwAnCx77PfaBVGUNDyAUn8D... |
5 rows × 24 columns
get_block
Return information of given block(s)
[4]:
blocks = ['109452586', '109452587']
blocks_info = ss.get_block(blocks)
blocks_info
[4]:
109452586 | 109452587 | |
---|---|---|
blockHeight | 98591476 | 98591477 |
blockTime | 1638295085 | 1638295085 |
blockhash | GCTLNg2XZDzKgEmwiE8mRDTrjJEw9DC2nbo6Y73miHRL | sMUtedNEJGKZWTWoPUMaNfzKcYpm884wRJN6LHTPYSL |
feeRewards | 2815000 | 4945000 |
parentSlot | 109452585 | 109452586 |
previousBlockhash | 2iosCGrQ6CthviS8dDdJzqhULH1AvBTyDG3xspqnvfMD | GCTLNg2XZDzKgEmwiE8mRDTrjJEw9DC2nbo6Y73miHRL |
transactionCount | 1112 | 1961 |
validator | 3B2mGaZoFwzAnWCoZ4EAKdps4FbYbDKQ48jo8u1XWynU | 3B2mGaZoFwzAnWCoZ4EAKdps4FbYbDKQ48jo8u1XWynU |
Transactions
get_last_transactions
Return last num_transactions (default 10, limit 20) transactions
[5]:
last_transactions = ss.get_last_transactions(num_transactions=20)
last_transactions.head()
[5]:
meta | transaction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
err | fee | innerInstructions | logMessages | postBalances | postTokenBalances | preBalances | preTokenBalances | rewards | status | message | signatures | |
0 | None | 5000 | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [32792760000, 23942400, 1169280, 1141440] | [] | [32792765000, 23942400, 1169280, 1141440] | [] | [] | {'Ok': None} | {'accountKeys': [{'pubkey': 'HfeFy4G9r77iyeXdb... | [25kpgb5QtW84khrHs8gPrHub6iYt7MAcFst39CMS2A9wt... |
1 | None | 5000 | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [14277730000, 23942400, 1169280, 1141440] | [] | [14277735000, 23942400, 1169280, 1141440] | [] | [] | {'Ok': None} | {'accountKeys': [{'pubkey': 'FZsgu4Gv9fn1iUm5v... | [24MRofZ3YmbDhedDAWmZ8T7hwmg13hKA89PGFGJZW9rpb... |
2 | {'InstructionError': [0, 'InvalidArgument']} | 5000 | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [24959720000, 23942400, 1169280, 1141440] | [] | [24959725000, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': '7Sur3cy2efJGv8Qom... | [5D1AK1nFn63n144E4C6tUWJ4SidPPtRw9cXNtVZ7wuryu... |
3 | {'InstructionError': [0, 'InvalidArgument']} | 5000 | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [24452780000, 23942400, 1169280, 1141440] | [] | [24452785000, 23942400, 1169280, 1141440] | [] | [] | {'Err': {'InstructionError': [0, 'InvalidArgum... | {'accountKeys': [{'pubkey': '26LYr2NRPprQ7aq6H... | [51tfsaXqzfiuYPNxtHszgG41xz1czLyQUBqaubTp1qhMe... |
4 | None | 5000 | [] | [Program FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe497... | [24452775000, 24042400, 1169280, 1141440] | [] | [24452780000, 24042400, 1169280, 1141440] | [] | [] | {'Ok': None} | {'accountKeys': [{'pubkey': '26LYr2NRPprQ7aq6H... | [5DQb2dinXCyq1HDtxb9fGMvgPB49rTrCNwRYSR36Hu5hh... |
get_transaction
Return information of given transaction signature(s)
[6]:
transactions=['T4ipYTjKUqHQpfuA8ZM5E4iJag9kX9nGhjbY974oq2ucyYRL6eWhqTjtmk3cqfqTSu8Qdce33vzKQd7bWEX3H21', '5hJhu4RYQLZF3zBwTUzu6vbvt6kX71uoFTTdx6NurkESEeQsjTJNut6FzSjgBqGe8j9V4dDo2VFssbRGiwbachom']
transactions_info = ss.get_transaction(transactions)
transactions_info
[6]:
T4ipYTjKUqHQpfuA8ZM5E4iJag9kX9nGhjbY974oq2ucyYRL6eWhqTjtmk3cqfqTSu8Qdce33vzKQd7bWEX3H21 | 5hJhu4RYQLZF3zBwTUzu6vbvt6kX71uoFTTdx6NurkESEeQsjTJNut6FzSjgBqGe8j9V4dDo2VFssbRGiwbachom | |
---|---|---|
blockTime | 1634537205 | 1637774890 |
slot | 102135694 | 108509877 |
txHash | T4ipYTjKUqHQpfuA8ZM5E4iJag9kX9nGhjbY974oq2ucyY... | 5hJhu4RYQLZF3zBwTUzu6vbvt6kX71uoFTTdx6NurkESEe... |
fee | 10000 | 5000 |
status | Success | Success |
lamport | 0 | 0 |
signer | [BE3G2F5jKygsSNbPFKHHTxvKpuFXSumASeGweLcei6G3,... | [Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ] |
logMessage | [Program 4kCccBVdQpsonm2jL2TRV1noMdarsWR2mhwwk... | [Program 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9... |
inputAccount | [{'account': 'BE3G2F5jKygsSNbPFKHHTxvKpuFXSumA... | [{'account': 'Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Ut... |
recentBlockhash | 6UzkdSfhm6UwXnFPWShj14Kn3TVjmYC1SS9LyXa86zLT | ChAnYUveHuqdNF41b9vB7vZb9Ca7JgLEPtF1GNbyjEMd |
innerInstructions | [{'index': 0, 'parsedInstructions': [{'program... | [] |
tokenBalanes | [] | [] |
parsedInstruction | [{'programId': '4kCccBVdQpsonm2jL2TRV1noMdarsW... | [{'programId': '9xQeWvG816bUx9EPjHmaT23yvVM2ZW... |
confirmations | None | None |
tokenTransfers | [] | [] |
solTransfers | [] | [] |
serumTransactions | [] | [{'cancelOrder': {'programId': '9xQeWvG816bUx9... |
raydiumTransactions | [] | [] |
unknownTransfers | [{'programId': '4kCccBVdQpsonm2jL2TRV1noMdarsW... | [] |
Accounts
get_account_tokens
Return token balances of the given account(s)
[7]:
accounts = ['Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ', '7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS']
account_tokens = ss.get_account_tokens(accounts)
account_tokens.head()
[7]:
Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tokenAddress | tokenAmount | tokenAccount | tokenName | tokenIcon | rentEpoch | lamports | tokenSymbol | priceUsdt | tokenAddress | tokenAmount | tokenAccount | tokenName | tokenIcon | rentEpoch | lamports | tokenSymbol | priceUsdt | |
0 | KNVfdSJyq1pRQk9AKKv1g5uyGuk6wpm4WG16Bjuwdma | {'amount': '0', 'decimals': 9, 'uiAmount': 0, ... | 8w3DXCuLfmncbscY2ZPHSFm7RQ6qpFTv7ZQTeSkrHScU | Saber Wrapped Ether (Wormhole) (9 decimals) | https://raw.githubusercontent.com/solana-labs/... | 254 | 2039280 | swhETH-9 | 4175.930000 | cUSDDDBZRhpDW7eyUUPMuw6u1SiMnzu6i7movwf5jxk | {'amount': '0', 'decimals': 9, 'uiAmount': 0, ... | FR5t12DKJGeYkChogSciyHXGZTAdpWgc2ZdjX1SsVHm2 | Saber acUSD-USDC LP | https://raw.githubusercontent.com/solana-labs/... | 254.0 | 2039280.0 | acUSD-USDC | NaN |
1 | PoRTjZMPXb9T7dyU7tpLEZRQj7e6ssfAE62j2oQuc6y | {'amount': '10518756', 'decimals': 6, 'uiAmoun... | 4E4wTBurw6jguirauunPuGciqxtUTUNecgpseUUt1L8W | Port Finance Token | https://raw.githubusercontent.com/solana-labs/... | 255 | 2039280 | PORT | 2.190000 | mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So | {'amount': '0', 'decimals': 9, 'uiAmount': 0, ... | F68t8jUTheFRPJ3gcfxw5E4q9fnadoAHngDCR18DbDv1 | Marinade staked SOL (mSOL) | https://raw.githubusercontent.com/solana-labs/... | 254.0 | 2039280.0 | mSOL | 192.35 |
2 | 7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs | {'amount': '0', 'decimals': 8, 'uiAmount': 0, ... | 2uMiF9vPEogw9GiZa9UvPFxffoJpSUF6zKmWwKKjm2D3 | Wrapped Ether (Wormhole) | https://raw.githubusercontent.com/solana-labs/... | 255 | 2039280 | weWETH | 4179.280000 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | {'amount': '0', 'decimals': 6, 'uiAmount': 0, ... | 2Rsg7Geqa9zH4WU85SywgVu9wGaRe7XM7TpY3goT9BUm | USD Coin | https://raw.githubusercontent.com/solana-labs/... | 255.0 | 2039280.0 | USDC | 1.00 |
3 | ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx | {'amount': '0', 'decimals': 8, 'uiAmount': 0, ... | 7UQsVoVHrrkay8uGVm9rXbtAJfdgjjE1NSdVQs1KC1BB | Star Atlas | https://raw.githubusercontent.com/solana-labs/... | 255 | 2039280 | ATLAS | 0.121382 | 7nzf4r8psSNTN6smb5Dw3rHMwMoc7y6auhbwZYUMkj6B | {'amount': '0', 'decimals': 0, 'uiAmount': 0, ... | AmSVeU2A62z42JvF375kpGTHMonb4Q6DuBcfWhCv3K6v | 254.0 | 2039280.0 | NaN | NaN | ||
4 | FTT9rBBrYwcHam4qLvkzzzhrsihYMbZ3k6wJbdoahxAt | {'amount': '0', 'decimals': 9, 'uiAmount': 0, ... | CWhrA3kVqd3uqC1YPF1bh1tSfUNH2VUNBsUuicttkt8D | Saber Wrapped Wrapped FTT (Sollet) (9 decimals) | https://raw.githubusercontent.com/solana-labs/... | 254 | 2039280 | sFTT-9 | 41.920000 | 8Yv9Jz4z7BUHP68dz8E8m3tMe6NKgpMUKn8KVqrPA6Fr | {'amount': '0', 'decimals': 9, 'uiAmount': 0, ... | CkJgVxAmg4Dri4Q3ifEjudXTBPmMfGPEmJuoY2ZXUdYt | Wrapped USDC (Allbridge from Avalanche) | https://raw.githubusercontent.com/solana-labs/... | 254.0 | 2039280.0 | aaUSDC | 1.00 |
get_account_transactions
Return DataFrame of transactions of the given account(s)
[8]:
accounts = ['5FCSMognWSsNGjmYK9D387Zz79catdwEakdNtGf2UAJS']
account_transactions = ss.get_account_transactions(accounts)
account_transactions
[8]:
5FCSMognWSsNGjmYK9D387Zz79catdwEakdNtGf2UAJS | |||||||||
---|---|---|---|---|---|---|---|---|---|
blockTime | slot | txHash | fee | status | lamport | signer | parsedInstruction | includeSPLTransfer | |
0 | 1635825035 | 104758613 | nqskrb6aunaGEtsU1PRjtNYU1mL4mCMZrpwzFd8bQghzDU... | 5000 | Success | 0 | [8mBkEdWR1CAS9Hy9UXB2GpPe6a5HCjy5Lfo2EZ23adnc] | [{'programId': 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH... | NaN |
1 | 1635356244 | 103821941 | 5pEs9Ddeh4DknHnu5szqYDoJcgFeYX2c2ttUGQCj2HUcua... | 15000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH,... | [{'programId': '111111111111111111111111111111... | True |
2 | 1635356228 | 103821918 | 34v3TqjYx5LgBeRYz9KavyuMgHfLvzaqAsNKdUG9AQrBjo... | 5000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH] | [{'programId': 'A7p8451ktDCHq5yYaHczeLMYsjRsAk... | NaN |
3 | 1634782587 | 102654064 | 5UocGkDeCTSf6VzVPcockSykdLa6DA7pi5vhcQpXVQfTej... | 15000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH,... | [{'programId': '111111111111111111111111111111... | True |
4 | 1632321489 | 97814375 | 2TVkmHKhkkTsajp1bbJbAPnpnXZZT8u88WWsczbGiN8s2j... | 5000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH] | [{'programId': 'A7p8451ktDCHq5yYaHczeLMYsjRsAk... | NaN |
5 | 1632267935 | 97711813 | 2Lfe7Q8MuGNixJzJs7eQaArV8AMYArFXi6h6uiWkPb2SpL... | 15000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH,... | [{'programId': '111111111111111111111111111111... | True |
6 | 1632202237 | 97587347 | 2nPNG8Eesat9wAwo9vrZy5bfYURo9dR41g3WkFhJdf5vR4... | 5000 | Success | 0 | [HzrMJkkN5jvD98focyivbjasDmPwPY3AkuB9aG1uAzbH] | [{'programId': 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH... | NaN |
7 | 1632191828 | 97566869 | 2hKZiz4uzc7nnDu5dn9F3a56Yp8vv9ASwSSHR5RYZmGBCo... | 15000 | Success | 0 | [AjJ64QbB7XnrEdC1Vroh2uiU9yjEds2HjoWSsxarYV7g,... | [{'programId': '111111111111111111111111111111... | True |
8 | 1632191767 | 97566753 | 5MvydpMqfS6BwjxUMptrNdqd84SWkAcK4edvbp1qNMrZ4D... | 5000 | Success | 0 | [AjJ64QbB7XnrEdC1Vroh2uiU9yjEds2HjoWSsxarYV7g] | [{'programId': 'A7p8451ktDCHq5yYaHczeLMYsjRsAk... | NaN |
9 | 1632190763 | 97564791 | 27iwr5yX4jGVBaQyMrYC37X3RdBc5k7g3wBR2xg3H4zT3v... | 15000 | Success | 0 | [AjJ64QbB7XnrEdC1Vroh2uiU9yjEds2HjoWSsxarYV7g,... | [{'programId': '111111111111111111111111111111... | True |
get_account_stake
Get staking accounts of the given account(s)
[5]:
accounts = ['6qdpJdp6L8cCSEECt4vSUbDtRH6oe7MrMY3s1iBSJHie']
account_stake = ss.get_account_stake(accounts)
account_stake
[5]:
6qdpJdp6L8cCSEECt4vSUbDtRH6oe7MrMY3s1iBSJHie | ||
---|---|---|
2dLLdNvzAWA4WZEA57SqhVajTUfVEVerZLdoHtpqAbU4 | 2NKXLftkoVmuGWnbpsX7fF3y6jzGo61Aw6V8MdwJwb7Y | |
voter | 55bmPBVG1xNHSmQ9iqzvm78Gvr8rE9wiG48MLQgJ1ywA | NaN |
amount | 7717120 | NaN |
type | delegated | initialized |
stakeAccount | 2dLLdNvzAWA4WZEA57SqhVajTUfVEVerZLdoHtpqAbU4 | 2NKXLftkoVmuGWnbpsX7fF3y6jzGo61Aw6V8MdwJwb7Y |
staker | 6qdpJdp6L8cCSEECt4vSUbDtRH6oe7MrMY3s1iBSJHie | 6qdpJdp6L8cCSEECt4vSUbDtRH6oe7MrMY3s1iBSJHie |
role | [staker, withdrawer] | [staker] |
get_account_spl_transactions
Return transactions that make tokenBalance change for given account(s)
[10]:
accounts = ['Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ', '7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS']
account_spl_transactions = ss.get_account_spl_transactions(accounts)
account_spl_transactions.head()
[10]:
Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | ... | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
total | data | ... | data | ||||||||||||||||||
0 | _id | address | signature | changeType | changeAmount | decimals | postBalance | preBalance | tokenAddress | ... | decimals | postBalance | preBalance | tokenAddress | symbol | blockTime | slot | fee | owner | balance | |
0 | 843 | 61a52fc380bb17258972dbb2 | CvuuChbxzUF9enm7m8keweqhyEfh9sbPLxG7527GbAix | [5otAVzzVx1WhukCS9roWjM9jiTRF2rVG6J9zgB7Tg5G2R... | dec | -383439601 | 6 | 0 | 383439601 | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB | ... | 9 | 0 | 1109458362815 | GEcowHQW46CrEkfAdbcsdt4SV7taCetZF4sFBXN4USDC | USDC-acUSDC | 1638550008 | 109895641 | 5000 | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | {'amount': '0', 'decimals': 9} |
1 | 843 | 61a52fc380bb17258972dbb5 | 8CU3jaA3Vp69ksBWAmJC7JeiHsPHEuagLiruEwQdXh9Z | [5otAVzzVx1WhukCS9roWjM9jiTRF2rVG6J9zgB7Tg5G2R... | inc | 1812957832 | 9 | 2998518103 | 1185560271 | mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So | ... | 6 | 0 | 1115209184 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | USDC | 1638549996 | 109895616 | 5000 | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | {'amount': '0', 'decimals': 6} |
2 | 843 | 619ec11d80bb17258961b675 | CvuuChbxzUF9enm7m8keweqhyEfh9sbPLxG7527GbAix | [5DiefMeGxTkYqJ6bBkZMR2rR2PEYkZLcKqNxNputNxf9C... | inc | -10010510093 | 6 | 383439601 | 10393949694 | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB | ... | 9 | 0 | 0 | DHpoYejUDqzByb6HAdaLWF7KZvwUv2vWYDY9cTENNZui | acUSDC | 1638549996 | 109895616 | 5000 | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | {'amount': '0', 'decimals': 9} |
3 | 843 | 619ec0f480bb17258961a891 | CoWRUXwaV36U94eFHaXcu9YCWJGoASKzz8hARPA961cs | [54HqcfsRxUiuQpTz93WzGUeyWfzKoNQ5Ury515gnNXRmd... | dec | -10401800268 | 6 | 0 | 10401800268 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | ... | 9 | 1109458362815 | 0 | GEcowHQW46CrEkfAdbcsdt4SV7taCetZF4sFBXN4USDC | USDC-acUSDC | 1638549996 | 109895616 | 5000 | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | {'amount': '1109458362815', 'decimals': 9} |
4 | 843 | 619ec0f480bb17258961a893 | CvuuChbxzUF9enm7m8keweqhyEfh9sbPLxG7527GbAix | [54HqcfsRxUiuQpTz93WzGUeyWfzKoNQ5Ury515gnNXRmd... | inc | 10393949694 | 6 | 10393949694 | 0 | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB | ... | 6 | 1115209184 | 0 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | USDC | 1638549779 | 109895230 | 10000 | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | {'amount': '1115209184', 'decimals': 6} |
5 rows × 32 columns
get_account_sol_transactions
Return SOL transfers for given account(s)
[11]:
accounts = ['Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ', '7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS']
account_sol_transactions = ss.get_account_sol_transactions(accounts)
account_sol_transactions.head()
[11]:
Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | ... | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | ... | data | |||||||||||||||||||
_id | src | dst | lamport | blockTime | slot | txHash | fee | status | decimals | ... | src | dst | lamport | blockTime | slot | txHash | fee | status | decimals | txNumberSolTransfer | |
0 | 6172e0ee5e027c1830a56c86 | H8sMJSCQxfKiFTCfDR3DUMLPwcRbM61LGFJ8N4dK3WjS | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 1849646858 | 1634918610 | 102922352 | 2X9c6eRhZeA97qEN5br4gXnMrsmTvXWQjmFbe1MameLTVB... | 5000 | Success | 9 | ... | 4ZwSyo2oWiqb1RzhCnrqvAKyxmuJwW7dscsg6qnEXVfJ | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | 10000000000 | 1638283135 | 109433415 | 4RWpSxiWAWijkQkD9GoqRxchcaZB8HqbGaRffMRXbZbPht... | 5000 | Success | 9 | 1 |
1 | 617184335e027c18302f4094 | H8sMJSCQxfKiFTCfDR3DUMLPwcRbM61LGFJ8N4dK3WjS | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 2465235982 | 1634829325 | 102748855 | 3CakodWbdHYiog29bBtYAE8PsUbnM5ZAZYVSpp73aoLX3g... | 5000 | Success | 9 | ... | 4ZwSyo2oWiqb1RzhCnrqvAKyxmuJwW7dscsg6qnEXVfJ | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | 10000000000 | 1637598123 | 108179911 | 5HWfFYfPp77TjWepHoZ3NVsmUF9xGispoBPu6BNmGAxuza... | 5000 | Success | 9 | 1 |
2 | 615679ed5e027c1830d1c65b | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 65GJB6cfYgFnVRuGtWoE3PEHeDJt2nd1FwUQgVmxB4MG | 2039280 | 1633012174 | 99097907 | 4LtH9ewJwPP491bQvPYzooZaVzw25qquK6vi5iRRS5ykdA... | 5000 | Success | 9 | ... | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | H8oMhzkrpA63MH548xQd1MLHLUBAJJXPJPZoAhr1j8ny | 6000000000 | 1637188873 | 107396440 | 4S2tJqfFCRdzWh35NoyRdehCRJwkETTo3hq1gWpJNUev8S... | 5000 | Success | 9 | 1 |
3 | 6155d53d5e027c1830758304 | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 65GJB6cfYgFnVRuGtWoE3PEHeDJt2nd1FwUQgVmxB4MG | 57002039280 | 1632871654 | 98837100 | 2Lwqok6ShGHKVkpv1KCpUAdEyDQL4yn8M8Y8N4qmWqfUo3... | 5000 | Success | 9 | ... | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | H8oMhzkrpA63MH548xQd1MLHLUBAJJXPJPZoAhr1j8ny | 31780000000 | 1637188808 | 107396301 | 3ypF2dAAyCEy7Ap1ucDdyCVm1xbMsrujWiwV1wQQMgeKGW... | 5000 | Success | 9 | 1 |
4 | 6144ab262cb5c76649f2bd17 | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | 65GJB6cfYgFnVRuGtWoE3PEHeDJt2nd1FwUQgVmxB4MG | 2039280 | 1631890191 | 96965191 | op3vZtRqTxo1Z8YKw3pYrzkgpM2fD5rCiR21UhdbFJNicH... | 5000 | Success | 9 | ... | 4ZwSyo2oWiqb1RzhCnrqvAKyxmuJwW7dscsg6qnEXVfJ | 7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS | 10000000000 | 1636994573 | 107033173 | E6ScKmDJTEda9g7oSoan5XyVeadJwU87exTLKVPaunPeBX... | 5000 | Success | 9 | 1 |
5 rows × 22 columns
get_account_export_transactions
Export transactions to CSV style string
Allowed types: tokenchange | soltransfer | all
[12]:
accounts = ['Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ', '7MwQuB8vsCosYiqY4NCBDiECgsv5aFDYP3Zd5zBT6oaS']
account_export_transactions = ss.get_account_export_transactions(accounts, type_in='all',from_time=0,to_time=1634918610)
# Trust me this is a CSV style string but if you print the whole thing, your screen will get full
# Recommend: write string to a file and open with an Excel like program.
account_export_transactions[0][:100]
[12]:
'Type, Txhash, BlockTime Unix, B'
get_account
Return overall account(s) information, including program account, NFT metadata information
[6]:
accounts = ['Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ', 'hz4sZFVC1MccN3WaSZ8YjHcZLewLw2JL7t1RfaRa4Pe']
accounts = ss.get_account(accounts)
accounts
[6]:
Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | hz4sZFVC1MccN3WaSZ8YjHcZLewLw2JL7t1RfaRa4Pe | |
---|---|---|
lamports | 384405851 | 1836946368111 |
ownerProgram | 11111111111111111111111111111111 | 11111111111111111111111111111111 |
type | system_account | system_account |
rentEpoch | 264 | 265 |
account | Fhhq7AtgMsWge7oBMMWkqaF4boMLJ6Utcmc2X1oEsqJQ | hz4sZFVC1MccN3WaSZ8YjHcZLewLw2JL7t1RfaRa4Pe |
Tokens
get_token_holders
Return top token holders for given token(s)
[14]:
tokens = ['Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1']
token_holders = ss.get_token_holders(tokens, limit=50)
token_holders.head()
[14]:
Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1 | ||||||
---|---|---|---|---|---|---|
data | total | |||||
address | amount | decimals | owner | rank | 0 | |
0 | HTwd3VaDQphZgh2x7wqE2Qdndo4TT5C8fpvhKFcNh1Rt | 46240783388772 | 6 | 8x2uay8UgrLiX8AAYyF6AkK9z91nNtN6aLwfqPkf6TAQ | 1 | 39492 |
1 | DAKRKS2F1Bk3tqRVVvDKUnVtC5LSJ52JVUqwQ6aNUKL7 | 28290517403060 | 6 | u6PJ8DtQuPFnfmwHbGFULQ4u4EgjDiyYKjVEsynXq2w | 2 | 39492 |
2 | DrJTQqNZqNCf2HDLpYg9zRCMRwnhZEVQuGjeaWtX6CA7 | 15603167776299 | 6 | ATkEV1nEkdp7zgaGpzFCsJ5WAyejcJbxqzGhQpfcDW4S | 3 | 39492 |
3 | 86hiF77ktrdVFU9xFqxsYChRirgs9KCvQDD9g4jT64bJ | 10991682944379 | 6 | DdZR6zRFiUt4S5mg7AV1uKB2z1f1WzcNYCaTEEWPAuby | 4 | 39492 |
4 | E9JJDxJLj8jpexcT9RthxJy6XNoisBLfvweC5p1n53JX | 8203449328449 | 6 | 2qThW12GKGmtxNLiEBrx2c6p3s16MVDrQL78M5JVK5H8 | 5 | 39492 |
get_token_meta
Return metadata of given token(s)
[15]:
tokens = ['Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1']
token_meta = ss.get_token_meta(tokens)
token_meta
[15]:
Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1 | |
---|---|
symbol | SBR |
name | Saber Protocol Token |
icon | https://raw.githubusercontent.com/solana-labs/... |
website | https://saber.so |
https://twitter.com/saber_hq | |
decimals | 6 |
coingeckoId | saber |
holder | 39492 |
get_token_list
Returns DataFrame of tokens
sort_by (default market_cap): - market_cap - volume - holder - price - price_change_24h - price_change_7d - price_change_14d - price_change_30d - price_change_60d - price_change_200d - price_change_1y
ascending (default True):
limit (default 10, max 50):
offset
[16]:
token_list = ss.get_token_list(limit=50)
token_list.head()
[16]:
mintAddress | tokenSymbol | tokenName | decimals | icon | extensions | website | tokenHolder | marketCapRank | supply | holder | priceUst | marketCapFD | volume | coingeckoInfo | tag | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2ctKUDkGBnVykt31AhMPhHvAQWJvoNGbLh7aRidjtAqv | wPOLS_v1 | PolkastarterToken (Wormhole v1) | 9 | https://raw.githubusercontent.com/solana-labs/... | {'coingeckoID': 'polkastarter', 'address': '0x... | True | 329 | {'amount': '5000000', 'decimals': 9, 'uiAmount... | 1 | 3.160000e+00 | 0.015800 | {'volumeUsd': 36664205, 'volume': 0} | {'marketCapRank': 263, 'coingeckoRank': 653, '... | [wrapped, wormhole] | ||
1 | 3UeKTABxz9XexDtyKq646rSQvx8GVpKNwfMoKKfxsTsF | wBBTC_v1 | Binance Wrapped BTC (Wormhole v1) | 8 | https://raw.githubusercontent.com/solana-labs/... | {'coingeckoID': 'binance-wrapped-btc', 'addres... | True | 328 | {'amount': '100', 'decimals': 8, 'uiAmount': 1... | 1 | 4.910500e+04 | 0.049105 | {'volumeUsd': 105060, 'volume': 0} | {'marketCapRank': None, 'coingeckoRank': 5454,... | [wrapped, wormhole] | ||
2 | Avz2fmevhhu87WYtWQCFj9UjKRjF9Z9QWwN2ih9yF95G | COMP | Wrapped Compound (Sollet) | 6 | https://raw.githubusercontent.com/solana-labs/... | {'coingeckoID': 'compound-coin', 'bridgeContra... | True | 327 | {'amount': '1000000000000', 'decimals': 6, 'ui... | 18 | 1.205000e-07 | 0.120500 | {'volumeUsd': 310.47, 'volume': 0} | {'marketCapRank': None, 'coingeckoRank': 4616,... | [wrapped-sollet, ethereum] | ||
3 | De2bU64vsXKU9jq4bCjeDxNRGPn8nr3euaTK8jBYmD3J | renFIL | renFIL | 9 | https://raw.githubusercontent.com/solana-labs/... | {'coingeckoID': 'renfil', 'coingeckoId': 'renf... | https://renproject.io/ | True | 326 | {'amount': '24806459', 'decimals': 9, 'uiAmoun... | 1 | 3.893000e+01 | 0.965715 | {'volumeUsd': 0, 'volume': 0} | {'marketCapRank': None, 'coingeckoRank': 4037,... | NaN | |
4 | Gc9rR2dUHfuYCJ8rU1Ye9fr8JoZZt9ZrfmXitQRLsxRW | wMIR_v1 | Wrapped MIR Token (Wormhole v1) | 9 | https://raw.githubusercontent.com/solana-labs/... | {'coingeckoID': 'mirror-protocol', 'address': ... | True | 325 | {'amount': '1000000000', 'decimals': 9, 'uiAmo... | 1 | 2.160000e+00 | 2.160000 | {'volumeUsd': 28388035, 'volume': 0} | {'marketCapRank': 235, 'coingeckoRank': 692, '... | [wrapped, wormhole] |
get_market_info
Return market information of the given token(s)
[17]:
tokens = ['Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1', '2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk']
market_info = ss.get_market_info(tokens)
market_info
[17]:
Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1 | 2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk | |
---|---|---|
priceUsdt | 5.457900e-02 | 4.135590e+03 |
volumeUsdt | 1.000595e+06 | 2.677430e+10 |
get_chain_info
Return blockchain overall information
[18]:
chain_info = ss.get_chain_info()
chain_info
[18]:
chain_info | |
---|---|
blockHeight | 99400275 |
currentEpoch | 255 |
absoluteSlot | 110340277 |
transactionCount | 43621199246 |
[ ]: