AmpliHive sits customer-side and stamps an ML-DSA-65 certificate on every Fireworks response. The cert binds prompt_hash, response_sha256, tenant_did, and partner_id=fireworks — tamper-proof attribution. You unlock the regulated workloads (banks, hospitals, gov) that today close the tab because they can’t audit an LLM call. We take $0.06 per 1M signed calls. You take a negotiated cut. The ledger is the signed payload — no reconciliation theater.
Verified inference under FIPS 204 (ML-DSA-65) is a procurement checkbox for regulated buyers. Bolting one on takes a year and a PQ team. We have it live, in prod, today.
partner_id=fireworks is bound INSIDE the signed payload. Flip a byte and the signature breaks. Revenue share is a SQL query against signed certs, not a quarterly reconciliation call.
Your customer’s Fireworks key never leaves their network. They install one npm or pip package. Their LLM call stays exactly where it is. AmpliHive returns a cert.
Fireworks competes on TTFT and price/token. We don’t sit in that path. AmpliHive is the customer-side trust layer: it stamps your output after it leaves Fireworks. Total round-trip overhead is ~6ms p95 plus ~60ms ML-DSA-65 sign, off your critical path. Your latency story stays clean. Your compliance story becomes the best in the market.
partner_id=fireworks. Revenue share is provable, not promised.Customer keeps their Fireworks API key. Customer keeps their data path. AmpliHive returns a cert. The cert says “signed for tenant X, attributed to Fireworks.”
import Fireworks from "fireworks-ai"; import { AmpliHive } from "@hivery/amplihive"; const fw = new Fireworks({ apiKey: process.env.FIREWORKS_API_KEY }); const hive = new AmpliHive({ tenantDid: "did:hive:acme", apiKey: process.env.AMPLIHIVE_API_KEY, partnerId: "fireworks", // bound into the signed cert }); const llm = await fw.chat.completions.create({ model: "accounts/fireworks/models/llama-v3p1-70b-instruct", messages: [{ role: "user", content: prompt }], }); const text = llm.choices[0].message.content; const cert = await hive.sign({ prompt, response: text }); console.log(cert.certificate.payload.partner_id); // "fireworks" console.log(cert.certificate.alg); // "ML-DSA-65"
Sign a real (prompt, response) pair against production. The cert payload will carry partner_id: "fireworks". Try the “Tamper partner_id” button — the signature breaks. That’s the unforgeable attribution.
partner_id=fireworks — share is provable, not promised.