Action authorization and verifiable execution evidence for Solana agents. Apply policy, bind approval to the exact transaction, and prove what executed.
Solana agents move fast. Consequential actions need a control boundary.
SVS authenticates exact requests, applies policy, binds approval to transaction bytes, verifies execution, and leaves portable evidence.
Control before execution. Proof after execution.
https://t.co/edDbP75Jmv
AgentFund merged an optional SVS provider at its x402 relayer boundary.
It can gate exact contribution bytes before broadcast and report execution evidence after confirmation. Integration ready; coordinated devnet proof pending.
https://t.co/QQH0Qp2NXT
An approval must not authorize a near match.
SVS flips one serialized-transaction byte and requires rejection at “Exact serialized transaction” before broadcast. The probe ships in our public reference workflow: https://t.co/HOHIkuc5wr
Change one byte in approved transaction bytes.
The SVS workflow must reject it before broadcast with:
failureCode: action_authorization_failed
failedCheck: Exact serialized transaction
A generic denial does not pass.
https://t.co/HOHIkuc5wr
One external agent. One relying party. One consequential action.
The SVS reference workflow checks the exact transaction before broadcast, verifies execution afterward, and requires mismatch probes to fail.
Pilot starter: https://t.co/HOHIkuc5wr
Identity answers who the agent is. It should not grant blanket execution rights.
@svsprotocol/[email protected] can bind an official Agent Registry asset’s operational wallet into requireAuthorizedAction, then reject a different wallet or transaction.
A signed request should work once, not forever.
SVS replay proof:
1. Accept the authenticated action.
2. Persist its nonce.
3. Resubmit the same signed nonce.
4. Reject it with HTTP 409.
The rejection is stored as evidence, not assumed.
npm install @svsprotocol/[email protected]
The new AgentFund x402 pilot adapter can require an exact-action match before relay, report external broadcast evidence, and verify post-execution acceptance.
This is a pilot surface, not an adopted integration.
SVS does not ask protocols to trust a badge.
Paste a proof summary into the public verifier demo: it checks the verification-set version, registry hash, action-proof status, and trusted signer result.
Inspect it: https://t.co/sjxltt82ZJ
A badge is not proof. SVS publishes a registry hash, trust manifest, linked profile hashes, freshness status, and a verification command so a protocol can independently reject stale or mismatched agent claims.
Inspect the devnet demo registry: https://t.co/oePQB9wEUZ
AgentFund reviewed the open SVS x402 settlement-gate PR and requested a vendor-neutral provider interface, exact SDK pinning, and a verified-contribution event. The changes are now in the PR; enforcement remains off pending review. https://t.co/QQH0Qp2NXT
SVS is looking for one narrow reference workflow:
• one external Solana agent
• one safe devnet action
• one protocol, wallet, or operator enforcing the gate
• one sanitized result
The starter and pilot proposal are public:
https://t.co/GHjFVZdThG
Security reviewers should not have to take an agent system on faith.
SVS publishes a review packet covering the SDK, two-phase workflow, registry and trust manifest, verifier guidance, threat model, and deliberate mismatch probes.
https://t.co/5Dsh3HkRnn
New for protocol-owned relayers: reportExternalBroadcast(...)
Send an HMAC-signed transaction signature. SVS confirms it through the operator-pinned Solana RPC, matches the exact approved bytes, and rejects unconfirmed, foreign, or mismatched reports.
One acceptance rule can change how protocols handle automation:
Accept an agent action only when the exact request passes policy, carries the required approval, preserves transaction integrity, and returns a fresh SVS verification result.
Start with one devnet action.
Retries should not become duplicate agent actions. SVS reuses the exact signed body, timestamp, nonce, and HMAC only when a stable idempotency key is present. Reuse that key with changed action details and the request fails instead of quietly mutating intent.