Observed since 20 Oct, 22:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@0x402/auditor
The Agent B side, as one Express route: an x402-paid audit that answers with a signed seal, plus the free agent card a caller reads before paying.
The Agent B side, as one Express route: an x402-paid audit that answers with a signed seal.
npm i @0x402/auditor express
import express from "express";
import { sealedAuditRoute } from "@0x402/auditor";
const app = express();
app.use(express.json({ limit: "1mb" }));
sealedAuditRoute(app, {
sealAccount, // your key, in your process
agentId: "2",
priceUsd: "$0.01",
payToAddress,
network: "eip155:84532",
facilitatorUrl,
sealTtlSeconds: 86_400,
og: { network: "testnet", apiKey, model: undefined, skipAttestation: false },
});
app.listen(4021);
It mounts two routes:
GET /agent — free, and readable from any page (it sets Access-Control-Allow-Origin).
The card says who a caller would be hiring: agent id, seal signer, payee, price,
network, model, trust mode. Anyone can read it before paying.POST /audit — x402-paid (protocol v2), and the reason this package exists.Taking money is not enough. A plain x402 API takes the same cent and answers with prose, and the agent that paid has nothing it can embed, show, or be held to. What makes you a B is issuing a seal: a signed statement binding your verdict to the exact request, the model, and the TEE attestation the inference came back with.
The payment settles on a 2xx. So if the inference fails, or the seal cannot be issued, this route answers 502 rather than a cheerful body — because a 2xx here would take the money for a seal that was never issued.
Repository · Site · MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
zodEnvironment{
"local_name": "zod",
"alias": false,
"peer_metadata": null
} | ^3.24.2 | runtime |
viemEnvironment{
"local_name": "viem",
"alias": false,
"peer_metadata": null
} | ^2.23.2 | runtime |
@0x402/ogEnvironment{
"local_name": "@0x402/og",
"alias": false,
"peer_metadata": null
} | 0.1.1 | runtime |
@x402/evmEnvironment{
"local_name": "@x402/evm",
"alias": false,
"peer_metadata": null
} | ^2.24.0 | runtime |
@x402/coreEnvironment{
"local_name": "@x402/core",
"alias": false,
"peer_metadata": null
} | ^2.24.0 | runtime |
@0x402/sealEnvironment{
"local_name": "@0x402/seal",
"alias": false,
"peer_metadata": null
} | 0.1.1 | runtime |
@x402/expressEnvironment{
"local_name": "@x402/express",
"alias": false,
"peer_metadata": null
} | ^2.24.0 | runtime |
vitestEnvironment{
"local_name": "vitest",
"alias": false,
"peer_metadata": null
} | ^3.0.5 | development |
expressEnvironment{
"local_name": "express",
"alias": false,
"peer_metadata": null
} | ^4.21.2 | development |
@types/expressEnvironment{
"local_name": "@types/express",
"alias": false,
"peer_metadata": null
} | ^4.17.21 | development |
expressEnvironment{
"local_name": "express",
"alias": false,
"peer_metadata": null
} | ^4.21 | peer |
Source distribution
{
"shasum": "1a511a36306b9f6b099c1189f2950325c7ac2f5e",
"tarball": "https://registry.npmjs.org/@0x402/auditor/-/auditor-0.1.1.tgz",
"fileCount": 13,
"integrity": "sha512-n3Cegl5CkF/rmzEEWesJCnF3ed0cz+M46rCrBDB6F0/Q0esvwE3YROgv26VF3m4eyslSS3XKZLJ/nNdCzye60g==",
"signatures": [
{
"sig": "MEUCIH5aB9mQCh72ymWxNWbsZ6NqZaxb5g6lwi03v3LPkB2XAiEAoMZxZPKKVKh8NKaMap9VuAzLapmJ6ZcKiRpEuxHnUhQ=",
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
}
],
"unpackedSize": 15968
}Observed since 20 Oct, 22:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:b16738b1391216ac3ca2dfd6b7ef727fbc4189717f17e3eab767de9f85b59458