HiveBound wraps every AI call with a declared identity, a scoped intent, and bonded money, all checked before the model runs. Nine checks. Ed25519 signed. HAHS receipt. Settled with x402 on Base.
Right now, every AI call is a question with nothing riding on it. A prompt comes in, the model runs, the answer floats out. Nobody signed for it. Nobody's on the hook. There's no proof.
No declared identity. No approved scope. No money backing it up. So if someone disputes the output later, in an audit, a lawsuit, or a regulatory review, there's nothing to show. Just a log file. Logs can be edited. And logs don't travel with the answer they describe.
Every call carries a signed package. It says who asked, what they were allowed to do, and what money they put on the line, all signed before the model even runs. HAHS closes out the receipt. x402 settles the payment on Base. Anyone can check that record on their own computer, forever.
HiveBound isn't one single feature. It's six trust pieces working together, and each one covers a different step of the call.
Checks 1 to 6 come from the base SHOD stack. Checks 7 to 9 are HiveBound's own pre-commitment checks. They run cheapest first, and stop the moment one fails.
HiveBoundAdapter wraps any OpenAI-compatible endpoint. You keep your same provider. Your calls just become contracts.
import { HiveBoundAdapter, buildPassport } from '@hive/hivebound'; // Build the agent's passport from its Ed25519 private key const passport = buildPassport(PRIVATE_KEY, { agent_label: 'legal-agent-01', tenant_id: 'acme-corp', scopes: ['inference', 'extraction'], }); // Wrap any OpenAI-compatible provider const adapter = new HiveBoundAdapter({ provider_base_url: 'https://api.fireworks.ai/inference/v1', provider_api_key: FIREWORKS_KEY, privateKeyHex: PRIVATE_KEY, passport, bond_config: { amount_raw: '1000', // 0.001 USDC currency: 'USDC', chain: 'base', chain_id: 8453, treasury_bps: 5, x402_channel: null, }, hivemorph_url: 'https://receipts.thehiveryiq.com', }); // Every call is now a bonded, signed contract const response = await adapter.chat({ model: 'accounts/fireworks/models/llama-v3p1-70b-instruct', messages: [{ role: 'user', content: transcript }], max_tokens: 1024, }); console.log(response.envelope_id); // the signed package ID console.log(response.hahs_receipt_id); // the receipt tied to this data set console.log(response.settlement_tx); // the x402 payment on Base
| Scenario | Without HiveBound | With HiveBound |
|---|---|---|
| Compliance audit: "what did the model actually say?" | Just a log file. It can be edited. No signature. | An Ed25519 receipt you can check on your own computer. Tampering shows up. |
| Someone disputes the output in a lawsuit | You can't prove anything. | A signed record, locked to its data set, with the chain of custody intact. |
| Selling into a regulated company: HIPAA, SOX, EU AI rules | You can't show where the model's data came from. | A full chain of custody: agent identity, approved scope, and money on the line. |
| An agent acts on data that's been tampered with | You'd never know. | DR5 catches it: a detection rate of 1.000 versus 0.000, across 500 trials. |
| A chain of agents: who called what? | No way to trace it. | Every signed package links to the one before and after it. You can trace the whole chain. |
HiveBound snaps into any AI stack you're already running. Your calls keep flowing the same way. They just show up as contracts now.