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

tenzro-agent-bond

v0.1.0

Published

Agent insurance & bonding desk — a programmatic surface for agent platforms to post TNZO AgentBonds against agent DIDs (Spec 9), top up / wind them down, and file insurance claims against a misbehaving agent's bond. Wraps the SDK BondClient + InsuranceCli

Readme

tenzro-agent-bond

A programmatic insurance & bonding desk that agent platforms run to give their agents Amex-style indemnity. The desk lets a platform:

  1. post a TNZO AgentBond against an agent DID — which promotes that agent into the Delegated admission lane and backs it with stake,
  2. top up or wind down that bond, and
  3. when an agent misbehaves, file an insurance claim against its bond, paid from the insurance pool on governance approval.

The desk wraps the SDK's BondClient (Spec 9 bond ops) and InsuranceClient (claims + pool). It holds no keys: bond writes build typed PostAgentBond / IncreaseAgentBond / WithdrawAgentBond transactions whose signing is ambient (DPoP-bound bearer JWT, server-side MPC). Claim approval/payout flows through governance and the on-chain PayInsuranceClaim transaction, not this desk.

Install & build

npm install
npm run build

Usage

import { InsuranceBondingDesk } from "tenzro-agent-bond";

const desk = new InsuranceBondingDesk({
  endpoint: "https://rpc.tenzro.network",
  // supply a transport carrying the platform's DPoP-bound bearer JWT to call
  // the bond write paths; read paths and claim filing work without it.
});

// reads
await desk.pool();                 // { vault, balance_wei, paid_claims, ... }
await desk.listClaims();           // { count, claims: [...] }
await desk.listBondsByController("did:tenzro:human:acme"); // { count, aggregate_bond, bonds }

// bond writes (ambient DPoP auth, server-side MPC signing)
await desk.postBond({
  controller: "0x…",
  agentDid: "did:tenzro:machine:0x…:…",
  controllerDid: "did:tenzro:human:acme",
  amount: 1_000_000_000_000_000_000n,
});

// file a claim against a misbehaving agent's bond
await desk.fileClaim({
  claimant: "did:tenzro:human:victim",
  agentDid: "did:tenzro:machine:0x…:…",
  amount: "500000000000000000",
  evidence: "ipfs://… or hash/description",
});

API

| Method | Kind | Description | |--------|------|-------------| | getBond(bondId) | read | Fetch a single bond record by 32-byte bond id | | listBondsByController(controllerDid) | read | Bonds a controller DID has posted ({count, aggregate_bond, bonds}) | | postBond(params) | write | Post a fresh bond, locking TNZO and promoting the agent | | increaseBond(controller, agentDid, amount) | write | Top up an Active bond (tx.from = original poster) | | withdrawBond(controller, agentDid) | write | Start the withdrawal cooldown on an Active bond | | fileClaim(params) | write | File a claim against a misbehaving agent's bond | | listClaims() | read | List every insurance claim known to the node ({count, claims}) | | getClaim(claimId) | read | Fetch a single claim by its 32-byte id | | pool() | read | Insurance pool vault state ({vault, balance_wei, paid_claims, total_paid_wei, open_claim_count}) |

Demo (read-only, against live infra)

npm run demo                              # pool balance + claims
npm run demo -- did:tenzro:human:acme     # also list that controller's bonds

Liveness (read-only, against live infra)

npm run liveness

Probes the insurance pool balance and the filed-claim list. It does not post, increase, or withdraw a bond, nor file a claim — those are stateful actions exercised via the desk's write methods with real authorization.

Configuration

| Var | Default | Meaning | |-----|---------|---------| | TENZRO_RPC | https://rpc.tenzro.network | Tenzro JSON-RPC endpoint |

Notes

  • Bond writes require a transport carrying the platform's DPoP-bound bearer JWT — the desk never holds signing keys; signing is server-side MPC.
  • Posting a bond promotes the agent DID into the Delegated admission lane and backs it with the locked stake. Withdrawal starts a cooldown rather than releasing funds immediately.
  • Claim approval and payout are governance + on-chain PayInsuranceClaim, outside this desk's surface — fileClaim only opens the claim.