{"id":28470540,"url":"https://github.com/magicblock-labs/solana-rpcx","last_synced_at":"2025-07-01T17:31:14.509Z","repository":{"id":279516078,"uuid":"937800501","full_name":"magicblock-labs/solana-rpcx","owner":"magicblock-labs","description":"Solana RpcX","archived":false,"fork":false,"pushed_at":"2025-06-03T17:06:18.000Z","size":102,"stargazers_count":18,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-04T02:58:15.661Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magicblock-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-23T23:00:14.000Z","updated_at":"2025-06-03T17:06:17.000Z","dependencies_parsed_at":"2025-05-26T19:35:12.604Z","dependency_job_id":"64cd79b5-9a16-4ce5-8c99-937b45d8837d","html_url":"https://github.com/magicblock-labs/solana-rpcx","commit_stats":null,"previous_names":["magicblock-labs/solana-rpcx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/magicblock-labs/solana-rpcx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fsolana-rpcx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fsolana-rpcx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fsolana-rpcx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fsolana-rpcx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magicblock-labs","download_url":"https://codeload.github.com/magicblock-labs/solana-rpcx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fsolana-rpcx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263007121,"owners_count":23398765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-07T09:31:01.153Z","updated_at":"2025-07-01T17:31:14.501Z","avatar_url":"https://github.com/magicblock-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Solana RpcX\n\nA Cloudflare worker that extends Solana RPC with account parsing capabilities through rpcX methods. It enables automatic parsing for any accounts with an on-chain IDL (accounts that Solana Explorer can parse).\n\n### Available Methods\n\n- `getParsedAccountData` - Parse a single account\n- `getParsedAccountsData` - Parse multiple accounts in batch\n- `getParsedTransaction` - Parse transaction\n- `subscribeParsedAccount` - Subscribe to parsed account updates\n\n### Development\n\nStart local development server:\n\n```bash\nwrangler dev\n```\n\n### Deploy\n\nDeploy to Cloudflare to parse on the edge:\n\n```bash\nwrangler deploy\n```\n\nSet the `RPC_ENDPOINT` environment variable to the URL of the base rpc endpoint.\n\n## Usage Examples\n\n### 1. Fetch a Single Parsed Account\n\n```bash\ncurl \"https://rpcx.magicblock.app\" \\\n\t-X POST \\\n\t-H \"Content-Type: application/json\" \\\n\t-d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"getParsedAccountData\",\"params\":[\"FPxc7bcafdCQqHS8S1KX4ENCPP3vncxsKK3yRZ3mMzGn\", {\"encoding\": \"base64\"}]}'\n```\n\nExample response:\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"result\": {\n    \"context\": {\n      \"slot\": 322677507,\n      \"apiVersion\": \"2.1.9\"\n    },\n    \"value\": {\n      \"lamports\": 6876480,\n      \"data\": {\n        \"text\": \"You are an AI agent ...\"\n      },\n      \"owner\": \"LLMrieZMpbJFwN52WgmBNMxYojrpRVYXdC1RCweEbab\",\n      \"executable\": false,\n      \"rentEpoch\": 18446744073709552000,\n      \"space\": 860\n    }\n  }\n}\n```\n\n### 2. Fetch Multiple Parsed Accounts\n\n```bash\ncurl -s \"https://rpcx.magicblock.app\" \\\n  -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":\"0\",\"method\":\"getParsedAccountsData\",\"params\":{\"pubkeys\":[\"GFg67j2Yq7wcW8ikRgtiRpVCEmYUw9BjteRehjNwnQrt\",\"FPxc7bcafdCQqHS8S1KX4ENCPP3vncxsKK3yRZ3mMzGn\"]}}' | jq .\n```\n\n### 3. Use Custom RPC Endpoint\n\nAdd the Rpc header to specify a custom RPC endpoint:\n\n```bash\ncurl -s \"https://rpcx.magicblock.app\" \\\n  -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Rpc: https://api.mainnet-beta.solana.com/\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"getParsedAccountData\",\"params\":[\"FPxc7bcafdCQqHS8S1KX4ENCPP3vncxsKK3yRZ3mMzGn\"]}' | jq .\n```\n\n### 4. Subscribe to Parsed Account Updates\n\nConnect:\n\n```bash\nwscat -c \"wss://rpcx.magicblock.app\"\n```\n\nSubscribe to updates:\n\n```bash\n{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"subscribeParsedAccount\",\"params\":[\"5RgeA5P8bRaynJovch3zQURfJxXL3QK2JYg1YamSvyLb\",{\"encoding\":\"jsonParsed\",\"commitment\":\"confirmed\"}]}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicblock-labs%2Fsolana-rpcx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagicblock-labs%2Fsolana-rpcx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicblock-labs%2Fsolana-rpcx/lists"}