{"_id":"@absol-labs/shared","_rev":"6-7db958aa232e933ed249d0d3f0abde6f","name":"@absol-labs/shared","dist-tags":{"latest":"0.12.1"},"versions":{"0.7.1":{"name":"@absol-labs/shared","version":"0.7.1","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/shared@0.7.1","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"dist":{"shasum":"a6d309223dd02417ff9b9984a578d7e430116e68","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.7.1.tgz","fileCount":39,"integrity":"sha512-nI6BmQFr5HuH71lkmooIspJi8rWQWA0uvM4/zgfyHtuHikAEH9I+fVwlel+ru9eAYUAPKJ0RBMzRkxkLIyHA8w==","signatures":[{"sig":"MEQCIF4qQ13rDMdi26cQ63S0qffeGt+8+mBjwsy3pYG8YPyOAiB06vvCV2G+f9PnIvvSyHx01jtgO2TEtpwPZQ90+FtItQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200907},"main":"dist/index.js","type":"module","_from":"file:absol-labs-shared-0.7.1.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","format":"prettier --write .","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/788dc1f3f7a4c46eb92dbe9e6c4787d4/absol-labs-shared-0.7.1.tgz","_integrity":"sha512-nI6BmQFr5HuH71lkmooIspJi8rWQWA0uvM4/zgfyHtuHikAEH9I+fVwlel+ru9eAYUAPKJ0RBMzRkxkLIyHA8w==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/shared_0.7.1_1787432832064_0.9585197892962098","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@absol-labs/shared","version":"0.8.0","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/shared@0.8.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"dist":{"shasum":"ac41d6ec259ae6f6e14287e1cd6289fde8e53aad","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.8.0.tgz","fileCount":49,"integrity":"sha512-3LxtPrALvswit1DoCazqRLm8mXn4Tj/PUKLFH9XUCLOaqslQbDRXGS7FFa/gn7VkMZcNUHR+NT0kUADBF0o2tg==","signatures":[{"sig":"MEUCIQD2kK36w60V89Idve6/gWvC6t67iaVNo6pXdrN1itnl0wIgAvuBtlvL6INQeWVgMd8XSf4GdjRlWfmaHQaIS1ZmJso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451729},"main":"dist/index.js","type":"module","_from":"file:absol-labs-shared-0.8.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","format":"prettier --write .","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/242cbab66f9db3d2c58f5bf269f143c1/absol-labs-shared-0.8.0.tgz","_integrity":"sha512-3LxtPrALvswit1DoCazqRLm8mXn4Tj/PUKLFH9XUCLOaqslQbDRXGS7FFa/gn7VkMZcNUHR+NT0kUADBF0o2tg==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/shared_0.8.0_1787526213534_0.38541300616132057","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@absol-labs/shared","version":"0.9.0","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/shared@0.9.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"dist":{"shasum":"1524ae9a54b4daaab1bfa6d583d759ca2370b566","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.9.0.tgz","fileCount":50,"integrity":"sha512-JuBf6mB5qDRKm5P0NpJtrg7sALb5aTNJffhlJzOGfL2nAHBIX3Ky8G/ojRdDh7jDolHyXvzYlh7+QOAO13/fSw==","signatures":[{"sig":"MEQCIBE9i59g0qk5yl0sBPjdK4wHMEix7axKrueu3ReMbXCWAiAR2Nnyw+OOyEbEG0aTxsLhV+EGT2r+WZjPKxKXRDk+Pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":540231},"main":"dist/index.js","type":"module","_from":"file:absol-labs-shared-0.9.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","format":"prettier --write .","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/98fa03f5aacd0c8900b7e8cd12f528ad/absol-labs-shared-0.9.0.tgz","_integrity":"sha512-JuBf6mB5qDRKm5P0NpJtrg7sALb5aTNJffhlJzOGfL2nAHBIX3Ky8G/ojRdDh7jDolHyXvzYlh7+QOAO13/fSw==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/shared_0.9.0_1787599129468_0.03996668550675042","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@absol-labs/shared","version":"0.10.0","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/shared@0.10.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"dist":{"shasum":"00e9df01e5b082bdc793e93b746ba2d996692ced","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.10.0.tgz","fileCount":50,"integrity":"sha512-Eyso+fHL/CUtVDPPZcQmwIdCqc+4ye/JUgYvxIgUdCDiVxAjDPoG/EXr/Uqz+MwV7MpSOVdL/+SpMZfmxotCnA==","signatures":[{"sig":"MEYCIQCBquyswx5WTblDXLAI4XmV5XE+gCNnueOweAhDv8eHggIhANICLvOla1uOiBPfD+TFKbig4a2Vg4MO92jpeSbv2oWy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545143},"main":"dist/index.js","type":"module","_from":"file:absol-labs-shared-0.10.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","format":"prettier --write .","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/472098b2ddbed9576744f63ea7e0da74/absol-labs-shared-0.10.0.tgz","_integrity":"sha512-Eyso+fHL/CUtVDPPZcQmwIdCqc+4ye/JUgYvxIgUdCDiVxAjDPoG/EXr/Uqz+MwV7MpSOVdL/+SpMZfmxotCnA==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/shared_0.10.0_1787606417979_0.7304773265777846","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@absol-labs/shared","version":"0.11.0","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/shared@0.11.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"dist":{"shasum":"25f8500c1f2cf356b687b1809a41bc7d2ab0a074","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.11.0.tgz","fileCount":55,"integrity":"sha512-MlZCLjJPUYvWP8x0CUX93RKX1WTsKVIHOQcMEgfhYvMSLK2ng06cf6GhVcckXeouqwFSAx7Co7n0T+h8LzGl+Q==","signatures":[{"sig":"MEQCIDk0Rtu6XIzENaifeKeRTtf5a7K7GPikofgSoOmzouDvAiAUqL5FtACC9+NFlpPSlupbFWa7R/yvbpcb6jw4deBThA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575415},"main":"dist/index.js","type":"module","_from":"file:absol-labs-shared-0.11.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","format":"prettier --write .","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/381ad8947f5cc57ec46825cf5e42f1d6/absol-labs-shared-0.11.0.tgz","_integrity":"sha512-MlZCLjJPUYvWP8x0CUX93RKX1WTsKVIHOQcMEgfhYvMSLK2ng06cf6GhVcckXeouqwFSAx7Co7n0T+h8LzGl+Q==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/shared_0.11.0_1787607859778_0.5234182236824403","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@absol-labs/shared","version":"0.12.1","description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","license":"MIT","author":{"name":"Absol Labs"},"keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/Absol-Labs/metrik-protocol.git"},"homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"engines":{"node":">=20 <21","pnpm":"9.15.x"},"dependencies":{"viem":"^2.21.0","zod":"^3.24.0"},"devDependencies":{"@types/node":"^20.17.0","prettier":"^3.4.0","typescript":"^5.7.0","vitest":"^2.1.0"},"scripts":{"build":"tsc -p tsconfig.json","abi:sync":"node scripts/sync-abi.mjs","abi:check":"node scripts/check-abi.mjs","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit","lint":"tsc -p tsconfig.json --noEmit","format":"prettier --write .","format:check":"prettier --check ."},"_id":"@absol-labs/shared@0.12.1","_integrity":"sha512-xvvNHe4XchU/okt/itVzplTBlIcnr+2IbUtChWUZpc5xEv3/glhjr6cq9gAPVwxRUNLTLKVNYFp0vNvGj4MXvA==","_resolved":"/home/runner/work/metrik-protocol/metrik-protocol/release-artifact/absol-labs-shared-0.12.1.tgz","_from":"file:/home/runner/work/metrik-protocol/metrik-protocol/release-artifact/absol-labs-shared-0.12.1.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-xvvNHe4XchU/okt/itVzplTBlIcnr+2IbUtChWUZpc5xEv3/glhjr6cq9gAPVwxRUNLTLKVNYFp0vNvGj4MXvA==","shasum":"ea48df1bfce24f6a9d601d9a74c1423cb218b8fe","tarball":"https://registry.npmjs.org/@absol-labs/shared/-/shared-0.12.1.tgz","fileCount":55,"unpackedSize":579214,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCFr3bES2IN123AE/wk6WW0Lt58RDHpt0ByZVgHV2yKeAIgEiRP9/Oy9eUG2r3RQWIYDIBU2/cX7krC25m+XhWiRRw="}]},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"directories":{},"maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shared_0.12.1_1787749991199_0.9544896865174546"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-22T21:07:11.869Z","modified":"2026-08-26T13:13:11.631Z","0.7.1":"2026-08-22T21:07:12.227Z","0.8.0":"2026-08-23T23:03:33.716Z","0.9.0":"2026-08-24T19:18:49.630Z","0.10.0":"2026-08-24T21:20:18.134Z","0.11.0":"2026-08-24T21:44:19.896Z","0.12.1":"2026-08-26T13:13:11.378Z"},"bugs":{"url":"https://github.com/Absol-Labs/metrik-protocol/issues"},"author":{"name":"Absol Labs"},"license":"MIT","homepage":"https://github.com/Absol-Labs/metrik-protocol#readme","keywords":["metrik","x402","eip-712","attestation","base","usdc","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/Absol-Labs/metrik-protocol.git"},"description":"Metrik protocol hub: canonical types, EIP-712 attestation typed-data, and escrow contract ABI for the verified service marketplace and payment rail for AI agents.","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"readme":"# @absol-labs/shared — Metrik protocol hub\n\n**Metrik** is an infra-agnostic verified-service marketplace and payment rail for AI agents on\nBase. Agents discover, pay for, and verify third-party services; USDC escrowed on-chain is\nreleased to the seller **only for delivery an independent verifier has confirmed**, and\nunearned funds remain reclaimable by the buyer. Sellers run their endpoint on any backend (Akash, io.net,\nAWS, bare metal) — Metrik only ever sees a URL and a payout wallet — and everything settles\nsingle-chain on Base in USDC. The claim is deliberately narrow and honest: Metrik proves\n**delivery** (a service responded, correctly-shaped, within SLA, to real traffic), never\n**correctness** of the output.\n\n> **\"x402 proves the payment, Metrik proves the delivery.\"**\n\nThis repository is the **hub**. It is the source of truth every other Metrik repo depends on,\nand it does two jobs. First, it publishes [`@absol-labs/shared`](https://www.npmjs.com/package/@absol-labs/shared) —\nthe TypeScript types, zod schemas, EIP-712 typed-data, and the escrow contract ABI that the\ncontracts, oracle, SDK, and agent repos all import, so the cross-repo wire format can never\ndrift. Second, it holds the canonical protocol documentation. Start with\n[`docs/master-plan.md`](./docs/master-plan.md).\n\n> **Naming.** The product is **Metrik**. GitHub repos are `metrik-*` and the deployed EIP-712\n> domain keeps the historical literal `name: \"StreamProof\"` — an immutable on-chain/verifier\n> wire constant, renamed only at mainnet. Package names (`@absol-labs/*`) and user-facing\n> surfaces use Metrik; the retained `streamproof` identifiers exist for compatibility.\n\n## What `@absol-labs/shared` exports\n\nThe package (`src/`, published as ESM with types) is the machine-readable embodiment of the\nprotocol spec. Its surface, all re-exported from `src/index.ts`:\n\n- **Contract ABIs** — `streamEscrowAbi` and `streamEscrowV2Abi`, typed\n  (`as const satisfies Abi`) viem ABIs generated from their contracts and never hand-edited,\n  plus the `BASE_SEPOLIA_ESCROW_V2` deployment constant.\n- **Attestation typed-data** — `attestationTypedData`, `attestationSchema`, and the EIP-712\n  domain helpers (`streamProofEip712Domain` / `metrikEip712Domain`,\n  `createStreamProofEip712Domain` / `createMetrikEip712Domain`) the oracle signs and the escrow\n  verifies.\n- **Service binding & descriptor** — `serviceBindingTypedData` / `serviceDescriptorTypedData`\n  with their zod schemas, signers (`signServiceBinding`, `signServiceDescriptor`), recovery\n  helpers, `deriveServiceRef` for canonical service references, and the optional strict\n  `contentHashSchema` delivery-integrity commitment. A descriptor may also commit the optional\n  `verification.mode` policy (`output-probe` or `consumer-attested`); omission preserves every\n  legacy v3 `serviceRef` and means `output-probe` without materializing a canonical-JSON field.\n  Gated descriptors may commit `callerAuth.accessUrl`, the buyer-facing HTTPS invocation gateway;\n  `publicUrl` remains the public verification origin that the oracle probes.\n- **Verification model** — `serviceCheckResultSchema`, `verificationModes`, and the evidence\n  schemas for output-probe, delegated-status, and consumer-attested (zkTLS) checks.\n- **T2 `DeliveryReceipt`** — the buyer-signed EIP-712 typed-data + zod schema that binds a\n  Reclaim zkTLS proof of received bytes to a stream, nonce, and request context; consumed by\n  the SDK's `submitDeliveryProof` and assembled by the agent's\n  `buildT2DeliveryProofSubmission`. This is what gates live T2 accrue-on-proof settlement.\n- **Stream state & enums** — `streamSchema`, the `StreamStatus` / `DeliveryStatus` enums, and\n  their Solidity `<->` TypeScript converters.\n- **Reputation** — `aggregateReputation`, `rankOperators`, and the SLA-receipt record schemas\n  that turn on-chain events into a ranked operator index.\n\nRuntime dependencies are `viem` and `zod` only.\n\n## Canonical docs\n\n`docs/` is the deeper reference that [`master-plan.md`](./docs/master-plan.md) links to; read it\nin this order.\n\n- [`master-plan.md`](./docs/master-plan.md) — **source of truth**: scope, architecture, phase\n  fence, and issue map. Read first.\n- [`product-strategy.md`](./docs/product-strategy.md) — what Metrik is, who it serves\n  (two-sided), and why it is permissionless.\n- [`production-flow.md`](./docs/production-flow.md) — the discover → bind → verify → settle loop\n  through a human and an AI-agent journey.\n- [`verification-model.md`](./docs/verification-model.md) — how the verifier proves delivery\n  without credentials: the layered, delivery-not-correctness stack.\n- [`verifying-advanced-endpoints.md`](./docs/verifying-advanced-endpoints.md) — canary,\n  challenge-response, and re-execution techniques for hard-to-probe endpoints.\n- [`spec/attestation.md`](./docs/spec/attestation.md) — the canonical v1 spec: attestation,\n  EIP-712, lifecycle, accrual, and invariants. The contract between all repos.\n- [`architecture.md`](./docs/architecture.md) — components, data model, state machine, trust\n  model, verifier ladder, and economics.\n- [`threat-model.md`](./docs/threat-model.md) — assets, trust boundaries, abuse cases, and the\n  reusable security-pass checklist.\n- [`reputation-index.md`](./docs/reputation-index.md) — the on-chain reputation model and\n  operator ranking.\n- [`prior-art.md`](./docs/prior-art.md) — external protocols and libraries Metrik builds on.\n- [`whitepaper.md`](./docs/whitepaper.md) — the product and protocol narrative.\n- [`decisions/`](./docs/decisions/) — architecture decision records.\n- [`versioning.md`](./docs/versioning.md) — `@absol-labs/shared` release and semver policy.\n\n## Repo map\n\nMetrik is a multi-repo protocol under the [Absol-Labs](https://github.com/Absol-Labs) org.\n\n| Repo                                                               | Role                                                                      |\n| ------------------------------------------------------------------ | ------------------------------------------------------------------------- |\n| **metrik-protocol** (here)                                         | Hub: `@absol-labs/shared` types/ABI + canonical docs                      |\n| [metrik-contracts](https://github.com/Absol-Labs/metrik-contracts) | Metered escrow + threshold verifier on Base                               |\n| [metrik-oracle](https://github.com/Absol-Labs/metrik-oracle)       | The verifier service, adapters, and settlement submitter                  |\n| [metrik-sdk](https://github.com/Absol-Labs/metrik-sdk)             | Typed developer client (`@absol-labs/sdk`)                                |\n| [metrik-agent](https://github.com/Absol-Labs/metrik-agent)         | x402 facilitator, MCP server, agent-framework tools (`@absol-labs/agent`) |\n| [metrik-site](https://github.com/Absol-Labs/metrik-site)           | Marketing landing                                                         |\n\nLive surfaces: the app at [app.metrik.live](https://app.metrik.live), docs at\n[metrik.live](https://metrik.live), and the verifier at\n[oracle.metrik.live](https://oracle.metrik.live).\n\n## Install\n\n```bash\npnpm add @absol-labs/shared   # or: npm i / yarn add\n```\n\nThe package is public on the npm registry — no auth or registry config required. Peer setup and\nsemver policy are in [`docs/versioning.md`](./docs/versioning.md). Published versions at time of\nwriting: `@absol-labs/shared` 0.11.0, `@absol-labs/sdk` 0.7.0, `@absol-labs/agent` 0.4.0.\n\n## Develop\n\nRequires Node 20 (pinned by `.node-version`) and pnpm 9.15.\n\n```bash\ncorepack enable && corepack prepare pnpm@9.15.0 --activate\npnpm install\npnpm format:check   # prettier (CI-enforced)\npnpm typecheck\npnpm abi:check      # ABI drift guard\npnpm test           # vitest\npnpm build          # tsc -> dist/\n```\n\nCI runs the same sequence on PRs and `main`. See [`CONTRIBUTING.md`](./CONTRIBUTING.md).\n\n### Contract ABI sync\n\n`streamEscrowAbi` and `streamEscrowV2Abi` are generated, never hand-edited. Their sources of\ntruth are the matching contracts in `metrik-contracts`. The committed canonical references\n`abi/StreamEscrow.json` and `abi/StreamEscrowV2.json` stay in lockstep with `src/abi.ts` (the\ntyped viem module).\n\n```bash\n# Regenerate from the contract (needs Foundry + a metrik-contracts checkout)\nCONTRACTS_EVM_DIR=../streamproof-contracts/evm pnpm abi:sync\n\n# Drift guard — no Foundry needed, runs in CI\npnpm abi:check\n```\n\n`abi:sync` is deterministic (canonical ordering + Prettier), so re-running against an unchanged\ncontract produces no diff, and `abi:check` guarantees `src/abi.ts` cannot silently diverge.\n\n## Status\n\nMetrik is **live on Base Sepolia testnet** (chainId 84532), testnet only. The production\nsettlement path is **`StreamEscrowV2`, checkpoint settlement**, deployed and Basescan-verified\nat\n[`0x0f09f36Ccc05A7c9882F438721C08De314dFd46C`](https://sepolia.basescan.org/address/0x0f09f36Ccc05A7c9882F438721C08De314dFd46C)\n(2-of-3 oracle signer threshold) — the oracle runs in `SETTLEMENT_MODE=checkpoint`, the dApp\nand SDK settle against it, and **T2 consumer-attested accrue-on-proof** (buyer-signed\n`DeliveryReceipt` + Reclaim zkTLS proof) gates live accrual. The original per-tick\n`StreamEscrow` v1 at\n[`0x21948a5E6AE8d9A3D1050791AB6138657Fb54286`](https://sepolia.basescan.org/address/0x21948a5E6AE8d9A3D1050791AB6138657Fb54286)\nis retired/orphaned.\n\n## Meta\n\nOrg front door: [github.com/Absol-Labs](https://github.com/Absol-Labs). See\n[`SECURITY.md`](./SECURITY.md), [`CHANGELOG.md`](./CHANGELOG.md), and\n[`LICENSE`](./LICENSE) (MIT).\n","readmeFilename":"README.md"}