npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

prova-eliza-plugin

v0.1.1

Published

elizaOS plugin for Prova — confidential AI inference with on-chain proof. Every model call is hardware-attested in a TEE and verified on Solana, returning a Solscan link.

Readme

prova-eliza-plugin

Verifiable AI for elizaOS agents. Drop this plugin into any elizaOS agent and every model call runs as confidential inference on Prova — hardware-attested inside a TEE, signed by the enclave, and verified on Solana. Each response comes with an on-chain proof your agent can show anyone: a Solscan link.

Agents are making financial decisions, managing treasuries, and executing trades — with no proof of what happened inside the model. This plugin fixes that. Every inference becomes an un-fakeable, on-chain receipt.


What it does

  • Registers Prova as your agent's model providerTEXT_SMALL, TEXT_LARGE, OBJECT_SMALL, OBJECT_LARGE all route through Prova. No code changes to your agent logic.
  • Proves every inference on-chain — each response is hardware-attested (NVIDIA + Intel TDX), ECDSA-signed by the TEE, and anchored on Solana by an on-chain verifier program. A fake signature or unregistered key is rejected by Solana, not by us.
  • Returns the Solscan link — a VERIFY_PROOF action and a PROVA_PROOF provider expose the receipt and Solscan URL for the most recent inference, so your agent can prove what it did on demand.

Install

npm install prova-eliza-plugin

@elizaos/core is a peer dependency (your agent already has it).

Configure

Get a Prova API key at prova.chat/dashboard, then set:

PROVA_API_KEY=prova_sk_your_key_here

That's the only required setting. Optional overrides (env var or character settings):

| Setting | Default | Description | | --- | --- | --- | | PROVA_API_KEY | — | Required. Your prova_sk_… key. | | PROVA_BASE_URL | https://api.prova.chat/v1 | OpenAI-compatible base URL. | | PROVA_SMALL_MODEL | deepseek/deepseek-v4-flash | Model for TEXT_SMALL / OBJECT_SMALL. | | PROVA_LARGE_MODEL | deepseek/deepseek-v4-pro | Model for TEXT_LARGE / OBJECT_LARGE. |

Use

Add the plugin to your character:

import { provaPlugin } from "prova-eliza-plugin";

export const character = {
  name: "MyAgent",
  plugins: [provaPlugin],
  settings: {
    secrets: { PROVA_API_KEY: process.env.PROVA_API_KEY },
  },
  // ...
};

That's it. Every runtime.useModel(...) call your agent makes is now confidential and proven on Solana. When a user asks your agent to "prove that" or "show the proof", the VERIFY_PROOF action responds with the on-chain Solscan link.

Reading the proof programmatically

import { provaProofStore } from "prova-eliza-plugin";

const proof = provaProofStore.latest();
// {
//   receiptId, attested, model, teeKey,
//   reqHash, resHash, solanaTx, solscanUrl, status
// }
console.log(proof?.solscanUrl); // https://solscan.io/tx/...

What gets proven on-chain

  • Which model ran
  • Which TEE hardware signed it
  • Hash of the agent's input (req_hash)
  • Hash of the model's output (res_hash)
  • ECDSA signature from the enclave
  • Timestamp, provider
  • verifiedSignature / verifiedRegistryboth enforced by Solana before the proof is anchored

Verify any proof at prova.chat/verify, or browse the on-chain verifier program: D4fwqE74azXzC6euWAmDoH6Up1gZEh725odUuZHcCqEB.

How it works

  1. Your agent calls a model. The plugin sends the request to Prova's OpenAI-compatible API (stream: false) over your prova_sk_… key.
  2. Prova runs the inference inside a confidential TEE and returns the response plus x-prova-* proof headers (receipt id, attestation status, TEE key, request/response hashes).
  3. The proof is recorded locally and the Solana anchor — which lands a few seconds later — is resolved in the background via GET /v1/receipts/{id}, attaching the transaction id and Solscan link.
  4. The VERIFY_PROOF action / PROVA_PROOF provider surface that link whenever your agent (or its user) wants it.

Compatible with

elizaOS, and any agent framework that consumes elizaOS model providers. Prova's API is OpenAI-compatible, so the same key works from any OpenAI SDK if you're integrating outside eliza.

Links

License

MIT © Prova