BLA
BLA (Blind LLM Agents) is the open-source Blue Defense MCP and CLI built to protect software artifacts against automated AI reverse-engineering workflows.
ProofAPI seals every AI decision on Solana. Anyone can check it with a link, without trusting the operator.
SecurityTypeScript · HTMLGitHub @Kriazer078OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
ProofAPI — Tamper-Evident Receipts for AI Answers
ProofAPI puts a digital seal on every AI answer. The input, the answer and the settings are fingerprinted and recorded by our own Solana program. Anyone with the link can check that nothing was changed — no account, no crypto wallet.
All code in this repository was written during the hackathon (first commit on 30 September 2026). It uses open-source libraries listed under Tech Stack.Read the full README ↗ProofAPI puts a digital seal on every AI answer. The input, the answer and the settings are fingerprinted and recorded by our own Solana program. Anyone with the link can check that nothing was changed — no account, no crypto wallet.
Live Demo · Video Demo · Video Pitch · Presentation · Docs · npm · X
| Name | Role | Contact |
|---|---|---|
| Bekarys | CEO | [email protected] · X |
| Nurdaulet | CTO | GitHub |
| Submission material | Link |
|---|---|
| Pitch video | Watch the pitch |
| Product demo video | Watch the demo |
| Live application | proofapi.vercel.app |
| Presentation | Google Slides |
| Contact email | [email protected] |
All code in this repository was written during the hackathon (first commit on 30 September 2026). It uses open-source libraries listed under Tech Stack.
| Genuine | After someone edits the AI answer |
|---|---|
What a certificate does not prove: that the AI answer is correct, or which model really ran (the model is declared by the caller). It proves the recorded data hasn't changed since it was sealed.
Clock, so records can't be back-dated.POST /api/v1/seal with API keys, TypeScript SDK on npm (npm install proofapi), playground, console with keys, usage and recordsproofapi-mcp) with seal_answer, seal_hashes, verify_record and get_evidence; machine-readable llms.txt and openapi.jsonverifier.html that checks it against Solana directly| Layer | Technology |
|---|---|
| On-chain program | Rust · Anchor (built and deployed with Solana Playground) |
| Chain client | TypeScript · @solana/web3.js v1 · hand-written Anchor encoding |
| Web app and API | Next.js 15 (App Router) · React 19 · Tailwind CSS 4 · shadcn/ui (Base UI) |
| Auth | Auth.js (NextAuth) with GitHub · hashed API keys |
| Database | Prisma 6 · SQLite locally · Postgres (Neon) in production |
| SDK and MCP | TypeScript ESM package proofapi · Model Context Protocol SDK |
| AI | Google Gemini with structured output; deterministic mock without a key |
| Independent verifier | Single HTML file · WebCrypto · Solana JSON-RPC |
| Testing | Vitest (135 tests) · byte-level fake of the program · devnet end-to-end script · GitHub Actions |
| Hosting | Vercel (fra1) |
AI agent (MCP) · SDK · HTTP API · Browser
│ input + answer (or fingerprints only)
▼
┌─────────────────────────── Next.js app ───────────────────────────┐
│ API key / session → limits → canonical JSON → salted SHA-256 x3 │
│ (input, output, metadata) │
│ │
│ Postgres: users, API keys, records, salt ProofService │
└───────────────────────────────────┬───────────────────────────────┘
│ create_proof(proof_id, 3 hashes)
▼
┌──────────────── Solana program proof_registry ────────────────────┐
│ Issuer PDA ["issuer", authority] writer key, active, count, │
│ last_record_hash │
│ ProofRecord ["proof", issuer, seq] hashes, prev_record_hash, │
│ record_hash, timestamp │
│ record_hash = SHA256("proofapi-v1" ‖ fields ‖ prev ‖ timestamp) │
└───────────────────────────────────┬───────────────────────────────┘
│ getAccountInfo (any RPC)
▼
Certificate page · History audit · verifier.html (offline)
Program: programs/proof_registry/src/lib.rs — instructions register_issuer, set_writer, set_active, create_proof. There is no instruction to edit or delete a record.
Devnet deployment: program 5ffvduJkfxLgFiJEoZ9Pjq7oPVW1aKCgfqzmEto1FqjU. Details in programs/proof_registry/README.md.
npm install proofapi
import { ProofAPI } from 'proofapi';
const proofapi = new ProofAPI({ apiKey: process.env.PROOFAPI_API_KEY }); // key from /console/keys
const record = await proofapi.seal({ input: prompt, output: answer, model: 'your-model' });
console.log(record.certificateUrl); // share this link
Connect an AI agent through MCP (Claude, Cursor and other clients):
{
"mcpServers": {
"proofapi": {
"command": "npx",
"args": ["-y", "-p", "proofapi", "proofapi-mcp"],
"env": { "PROOFAPI_API_KEY": "pk_live_..." }
}
}
}
Prerequisites: Node.js 20+. No Rust toolchain is needed: the program is built in Solana Playground.
git clone https://github.com/Kriazer078/proofapi
cd proofapi
npm install
cp .env.example .env
npm run db:push
npm test
npm run dev
Open http://localhost:3000. By default CHAIN_MODE=memory runs a local simulation of the program. Set AUTH_DEV_LOGIN=1 to try the console without a GitHub app (ignored in production).
On Solana devnet:
npm run setup # creates server keys in .keys/ (git-ignored)
# fund the printed writer address at https://faucet.solana.com
# set PROGRAM_ID and CHAIN_MODE=anchor in .env (or deploy your own copy, see programs/proof_registry/README.md)
npm run register-issuer
npm run chain:status
npm run e2e:devnet # create, verify, tamper, audit, and write an evidence pack
Production settings: GEMINI_API_KEY for AI review, AUTH_GITHUB_ID and AUTH_GITHUB_SECRET for GitHub sign-in (callback /api/auth/callback/github). The sign-in secret is derived from IP_HASH_SALT unless AUTH_SECRET is set.
MIT — see LICENSE