ryntra-solana-evidence
Ryntra Solana 证据工具包
了解 Solana 资产能对你做什么,预览转账的确切效果,并在不询问交易发起方的情况下验证收据。
Apache-2.0 许可。通过构造实现只读:无密钥、无签名路径、无交易构建,仅使用一个 RPC 方法——getAccountInfo。每次运行时,测试会枚举已发布源码中的所有 RPC 调用和所有签名相关的标识符,因此这句话是门禁而非承诺。
npm ci
npm run verify # lint, typecheck, network-free tests, boundary gate
npm run cli -- inspect 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo最后一条命令通过公共端点读取主网上的 PayPal USD,无需任何账户,并打印其八个代币扩展及其对资产持有者的含义。
为什么
Token Extensions 铸币可能携带余额无法显示的能力。永久委托允许发行者从任何账户转移或销毁代币。转账钩子会在每次转账时运行他人的程序。转账费用意味着接收者实际收到的少于发送的。默认冻结账户状态意味着接收代币并不等同于能够移动它。
这些都不是隐藏的——它们都在链上、在铸币账户中,任何人都可以解码。只是大多数人们点击按钮的操作并不会读取它们。
本工具包读取这些信息,用持有者能理解的句子说明其含义,并且拒绝将其压缩为任何评分。这里没有评级,策略引擎能返回的最佳裁决是 NO_KNOWN_BLOCKER。
Related MCP server: Solana Debug MCP
三个工具
flowchart LR
RPC[("Solana JSON-RPC<br/>getAccountInfo")]
MINT["mint account bytes"]
RPC --> MINT
MINT --> P["<b>inspect_solana_mint</b><br/>Asset Passport<br/>identity · authorities<br/>extensions with provenance"]
P --> F["<b>preflight_solana_action</b><br/>exact preview<br/>fee math · resolved hook<br/>expected balance deltas"]
POL["owner policy<br/>13 declared dials"] --> V["policy verdict<br/>13 findings"]
F --> V
R[("Outcome Receipt<br/>JSON")] --> VR["<b>verify_solana_receipt</b><br/>schema · integrity<br/>issuer · binding"]
classDef tool fill:#101418,stroke:#4c8bf5,color:#e8eef6
classDef data fill:#0d1117,stroke:#3d444d,color:#c9d1d9
class P,F,V,VR tool
class RPC,MINT,POL,R data回答的问题 | 是否访问网络 | |
| 这是什么资产,其发行者能对持有者做什么 | 是,一次读取 |
| 这次确切转账会做什么,我的策略如何看待它 | 是,一次读取 |
| 收据是否完整,谁签署了它,是否与 Solana 相关 | 否——完全本地 |
每个工具提供三种使用方式:作为类型化 SDK 调用、作为 MCP 工具、以及通过 CLI。
布局
lib/solana/ the evidence core — decoding, passport, preflight, policy, receipt
lib/agent-control/ the frozen canonical hashing and the Solana registry adapter
lib/guard/ the one canonical JSON serializer both hashers use
packages/solana-evidence-sdk/ typed calls over the core
packages/solana-evidence-mcp/ local stdio MCP server
examples/solana-evidence-cli/ the runnable CLI
docs/solana/schemas/ published JSON Schemas for non-JS consumerslib/ 不是副本。这些是 ryntra.io 运行的相同模块,路径保持不变——因此本工具包的结果与产品的结果来自同一代码,任何破坏这一点的提取都会在自身测试中失败。lib/stellar/evidence.ts 出于相同且唯一的原因存在:证据信封是链中立的,提供单一实现优于提供可能漂移的副本。lib/solana/evidence.ts 在你遇到它时会说明这一点。
设计规则及其代价
每个事实都带有其来源。 ONCHAIN_VERIFIED、DECLARED、DERIVED、CONFLICTING、UNKNOWN、UNSUPPORTED。没有来源的值在这里不是值。代价是冗长,但值得:发行者自己的营销和账本读取绝不能佩戴相同的徽章。
句子描述的是设置,而非插槽。 携带 TransferHook 且程序 ID 全为零的铸币没有安装钩子——通行证说明了这一点,并说明了谁可以安装。通用句子对于最常被检查的 Token Extensions 铸币来说会是错误的。
金额以字符串形式表示为原始基本单位。 64 位金额无法在 JavaScript 数字中存活,有损的金额是错误的金额。值路径上任何地方都没有小数。
没有人为其编写语义的扩展仍然会渲染,并带有标记和原始类型。没有漂亮句子的解码事实仍然是事实;隐藏它将是谎言。
不会抛出任何异常。 拒绝是带有代码和原因的值——ACCOUNT_NOT_FOUND、NOT_A_MINT、DECODE_FAILED。“无答案”和“此答案”绝不能看起来相似。
重试覆盖传输层,而非答案。 可解析的响应原样返回,包括“无账户”,因为重新询问不会改变事实。
收据
Ryntra 结果收据是对已发生事件的观察——绝不是指令,也绝不是 Ryntra 执行它的证明。verify_solana_receipt 从收据自身的字节重新计算两个哈希值,并对照收据携带的密钥检查 Ed25519 签名。四个维度,分别报告:
schema——这是否具有收据的形状;
integrity——两个哈希值是否都能重新计算;
issuer——签名是否有效;并且,仅当你传递
trustedPublicKeys时,密钥是否是你信任的;binding——注册表固定名称是否指向 Solana 适配器。
“由某人签署”不等于“由 Ryntra 签署”,将两者混为一谈正是该维度旨在防止的错误。lib/solana/fixtures/receipt-*.json 是你可以针对其运行的真实工件,其中包括一个已签署但单个字符被编辑的收据。
信任边界
非托管且无密钥。 不持有、读取、派生或请求任何密钥。没有签名路径,边界门禁在出现签名路径时会使构建失败。
不执行任何操作。 不构建或提交任何交易。
裁决不是安全判断。 它报告在调用者声明的策略下不存在已知阻塞因素,且裁决词汇表中没有表示安全的词。
端点由操作者选择。 没有工具或 SDK 调用从其调用者处获取 URL;提供者端点来自
RYNTRA_SOLANA_RPC_MAINNET和RYNTRA_SOLANA_RPC_DEVNET,公共默认值无需账户即可工作。源码分发。 根包是
private的,因此意外的npm publish会被拒绝。不声明任何 npm 包。
链接
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only crypto safety: token honeypot checks, EIP-712 signature decode, approval scans.
Non-custodial Solana toolkit: rug-checks, swaps, portfolios, token minting, multisig, Arweave.
Read-only Solana and crypto reserve-recovery scans, pricing, chain facts, and methodology.
Read-only tools for agents: everything a Solana or Robinhood Chain wallet can get back (rent, wrapped SOL, LP fees, dead positions, failed deploys), whether a token is safe, when it unlocks, which protocol upgrades are live, and what a token operation costs. Every answer names the page where the user acts with their own wallet. Nothing here moves funds or holds keys.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides read-only access to Solana on-chain data, enabling natural language queries for wallet balances, token holdings, prices, transactions, and more via MCP-compatible clients.8MIT
- AlicenseAqualityDmaintenanceInspects and debugs Solana transactions, accounts, Anchor IDLs, errors, and PDAs from MCP-compatible clients.52MIT
- FlicenseAqualityBmaintenanceEnables read-only on-chain analysis to spot trending and new memecoin pools, evaluate rug risk, and surface early buyer wallets across Solana, Base, and Ethereum.5-
- FlicenseNot gradedqualityBmaintenanceProvides read-only Solana wallet intelligence for evidence-first copy-trading research, enabling exact wallet activity, parsed swaps, transaction evidence, current positions, token snapshots, source-vs-copy comparisons, watchlist scans, and partial Odin-rule classification.-