ryntra-solana-evidence
Ryntra Solana Evidence Kit
Lies, was ein Solana-Asset für dich tun kann, sieh dir genau an, was eine Überweisung bewirkt, und prüfe eine Quittung, ohne die Partei zu fragen, die sie ausgestellt hat.
Apache-2.0. Von Natur aus schreibgeschützt: kein Schlüssel, kein Signaturpfad, keine Transaktionserstellung und eine RPC-Methode – getAccountInfo. Ein Test zählt bei jedem Durchlauf jeden RPC-Aufruf und jede signaturförmige Kennung in den ausgelieferten Quellen auf, sodass dieser Satz eher eine Hürde als ein Versprechen darstellt.
npm ci
npm run verify # lint, typecheck, network-free tests, boundary gate
npm run cli -- inspect 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXoDer letzte Befehl liest PayPal USD im Mainnet über einen öffentlichen Endpunkt, ohne dass irgendwo ein Konto vorhanden ist, und gibt seine acht Token-Erweiterungen aus, jeweils mit der Bedeutung für jemanden, der das Asset hält.
Warum
Ein Token Extensions-Mint kann Befugnisse mit sich bringen, die ein Kontostand nicht zeigt. Ein permanenter Delegierter ermöglicht es dem Emittenten, Token von jedem Konto zu verschieben oder zu verbrennen. Ein Transfer-Hook führt bei jeder Überweisung das Programm eines anderen aus. Eine Transfergebühr führt dazu, dass der Empfänger weniger erhält, als gesendet wurde. Ein standardmäßig eingefrorener Kontostand bedeutet, dass der Erhalt eines Tokens nicht gleichbedeutend damit ist, es verschieben zu können.
Nichts davon ist verborgen – es steht in der Chain, im Mint-Konto und ist für jeden dekodierbar. Es wird nur nicht gelesen von den meisten Dingen, auf die Leute Knöpfe drücken.
Dieses Kit liest es, sagt, was es in einem für einen Inhaber verständlichen Satz bedeutet, und weigert sich, es in eine Bewertung zu komprimieren. Es gibt hier keine Bewertung, und das beste Urteil, das die Richtlinien-Engine zurückgeben kann, ist NO_KNOWN_BLOCKER.
Related MCP server: Solana Debug MCP
Die drei Werkzeuge
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 dataWas es beantwortet | Greift auf das Netzwerk zu | |
| Was ist dieses Asset und was kann sein Emittent einem Inhaber antun | ja, ein Lesevorgang |
| Was wird diese genaue Überweisung bewirken und was hält meine Richtlinie davon | ja, ein Lesevorgang |
| Ist diese Quittung intakt, wer hat sie signiert und handelt es sich um Solana | nein – vollständig lokal |
Jedes ist auf drei Arten verfügbar: als typisierter SDK-Aufruf, als MCP-Werkzeug und über die CLI.
Aufbau
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/ ist keine Kopie. Es sind dieselben Module, die ryntra.io verwendet, extrahiert mit intakten Pfaden – damit ein Ergebnis aus diesem Kit und ein Ergebnis aus dem Produkt aus demselben Code stammen und eine Extraktion, die das bricht, ihre eigenen Tests nicht besteht. lib/stellar/evidence.ts ist aus demselben Grund und keinem anderen hier: Der Evidence-Envelope ist kettenneutral, und die Auslieferung einer Implementierung ist besser als die Auslieferung einer Kopie, die abweicht. lib/solana/evidence.ts sagt dies, wo immer du darauf triffst.
Gestaltungsregeln und was sie kosten
Jede Tatsache trägt bei sich, wie sie bekannt ist. ONCHAIN_VERIFIED, DECLARED, DERIVED, CONFLICTING, UNKNOWN, UNSUPPORTED. Ein Wert ohne Quelle ist hier kein Wert. Der Preis ist Ausführlichkeit, und er ist es wert: Das eigene Marketing eines Emittenten und ein Ledger-Lesevorgang dürfen nie dasselbe Abzeichen tragen.
Ein Satz beschreibt die Einstellung, nicht den Slot. Ein Mint, der TransferHook mit der Null-Programm-ID trägt, hat keinen Hook installiert – der Pass sagt das und sagt, wer einen installieren kann. Der allgemeine Satz wäre bei dem am meisten inspizierten Token Extensions-Mint überhaupt falsch gewesen.
Beträge sind rohe Basiseinheiten als Zeichenketten. Ein 64-Bit-Betrag überlebt keine JavaScript-Zahl, und ein verlustbehafteter Betrag ist ein falscher Betrag. Es gibt nirgendwo im Wertepfad eine Dezimalstelle.
Eine Erweiterung, für die niemand eine Semantik geschrieben hat, wird dennoch dargestellt, gekennzeichnet, mit ihrem rohen Typ. Eine dekodierte Tatsache ohne hübschen Satz ist immer noch eine Tatsache; sie zu verstecken wäre die Lüge.
Nichts wirft eine Ausnahme. Verweigerungen sind Werte mit einem Code und einem Grund – ACCOUNT_NOT_FOUND, NOT_A_MINT, DECODE_FAILED. „Keine Antwort“ und „diese Antwort“ dürfen sich nicht ähneln.
Wiederholungen decken den Transport ab, niemals die Antwort. Eine Antwort, die geparst wird, wird unverändert zurückgegeben, einschließlich „kein Konto“, denn erneutes Fragen ändert keine Tatsachen.
Quittungen
Eine Ryntra Outcome Receipt ist eine Beobachtung von etwas, das bereits passiert ist – niemals eine Anweisung und niemals ein Beweis, dass Ryntra es getan hat. verify_solana_receipt berechnet beide Hashes aus den eigenen Bytes der Quittung neu und prüft die Ed25519-Signatur gegen den Schlüssel, den die Quittung trägt. Vier Achsen, getrennt gemeldet:
schema – hat die Quittung überhaupt die richtige Form;
integrity – lassen sich beide Hashes neu berechnen;
issuer – ist die Signatur gültig; und, nur wenn du
trustedPublicKeysübergibst, ist der Schlüssel einer, dem du vertraust;binding – benennt der Registry-Pin den Solana-Adapter.
„Von jemandem signiert“ ist nicht „von Ryntra signiert“, und die beiden zusammenzufassen ist der Fehler, den diese Achse verhindern soll. lib/solana/fixtures/receipt-*.json sind echte Artefakte, die du dagegen ausführen kannst, darunter eines, das das signierte mit einem einzigen geänderten Zeichen ist.
Vertrauensgrenze
Nicht verwahrend und schlüssellos. Es wird kein Schlüssel gehalten, gelesen, abgeleitet oder angefordert. Es gibt keinen Signaturpfad, und die Grenzhürde lässt den Build fehlschlagen, wenn einer auftaucht.
Nichts wird ausgeführt. Es wird keine Transaktion erstellt oder eingereicht.
Ein Urteil ist kein Sicherheitsurteil. Es meldet das Fehlen bekannter Hindernisse unter einer vom Aufrufer deklarierten Richtlinie, und der Urteilsvokabular hat kein Wort für Sicherheit.
Der Endpunkt ist die Wahl des Betreibers. Kein Werkzeug oder SDK-Aufruf nimmt eine URL von seinem Aufrufer entgegen; Provider-Endpunkte stammen von
RYNTRA_SOLANA_RPC_MAINNETundRYNTRA_SOLANA_RPC_DEVNET, und öffentliche Standardwerte funktionieren ohne Konto.Quellverteilt. Das Root-Paket ist
private, sodass ein versehentlichesnpm publishverweigert wird. Es wird kein npm-Paket beansprucht.
Links
MCP-Server:
packages/solana-evidence-mcpSicherheit: SECURITY.md · Mitwirken: CONTRIBUTING.md
Der Arbeitsbereich, von dem dies stammt: https://ryntra.io/solana
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides 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
- AlicenseAqualityCmaintenanceInspects and debugs Solana transactions, accounts, Anchor IDLs, errors, and PDAs from MCP-compatible clients.52MIT
- FlicenseAqualityDmaintenanceProvides read-only access to the XRP Ledger for querying accounts, transactions, NFTs, DEX order books, and more.12

Tegro Wallet MCPofficial
Alicense-qualityBmaintenanceProvides read-only, real-time access to TON blockchain data including wallet balances, token holdings, transactions, prices, NFTs, DNS resolution, and address validation, without requiring private keys.7MIT
Related MCP Connectors
Ask what you can't be sure of. Read-only checks on tokens, NFTs, wallets and contracts.
Read-only crypto safety: token honeypot checks, EIP-712 signature decode, approval scans.
Solana on-chain intelligence — token scans, wallet profiling, bundle detection, 19 MCP tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryntra-io/ryntra-solana-evidence'
If you have feedback or need assistance with the MCP directory API, please join our Discord server