insumer-verify 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/build/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Client-side verifier for [InsumerAPI](https://insumermodel.com/developers/) atte
|
|
|
4
4
|
|
|
5
5
|
**In production:** [DJD Agent Score](https://github.com/jacobsd32-cpu/djdagentscore) (Coinbase x402 ecosystem) uses insumer-verify for client-side cryptographic verification in their AI agent wallet trust scoring pipeline. [Case study](https://insumermodel.com/blog/djd-agent-score-insumer-api-integration.html).
|
|
6
6
|
|
|
7
|
-
Part of the InsumerAPI ecosystem: [REST API](https://insumermodel.com/developers/) (25 endpoints, 32 chains) | [MCP server](https://www.npmjs.com/package/mcp-server-insumer) (npm) | [LangChain](https://pypi.org/project/langchain-insumer/) (PyPI) | [OpenAI GPT](https://chatgpt.com/g/g-699c5e43ce2481918b3f1e7f144c8a49-insumerapi-verify) (GPT Store)
|
|
7
|
+
Part of the InsumerAPI ecosystem: [REST API](https://insumermodel.com/developers/) (25 endpoints, 32 chains) | [MCP server](https://www.npmjs.com/package/mcp-server-insumer) (npm) | [LangChain](https://pypi.org/project/langchain-insumer/) (PyPI) | [ElizaOS](https://www.npmjs.com/package/eliza-plugin-insumer) (npm) | [OpenAI GPT](https://chatgpt.com/g/g-699c5e43ce2481918b3f1e7f144c8a49-insumerapi-verify) (GPT Store)
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -12,6 +12,20 @@ Part of the InsumerAPI ecosystem: [REST API](https://insumermodel.com/developers
|
|
|
12
12
|
npm install insumer-verify
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
## Get an API Key
|
|
16
|
+
|
|
17
|
+
Generate one from your terminal — no browser needed:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -s -X POST https://us-central1-insumer-merchant.cloudfunctions.net/createDeveloperApiKey \
|
|
21
|
+
-H "Content-Type: application/json" \
|
|
22
|
+
-d '{"email": "you@example.com", "appName": "insumer-verify", "tier": "free"}' | jq .
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Returns an `insr_live_...` key with 100 credits and 100 calls/day. One free key per email.
|
|
26
|
+
|
|
27
|
+
Or get one at [insumermodel.com/developers](https://insumermodel.com/developers/).
|
|
28
|
+
|
|
15
29
|
## Usage
|
|
16
30
|
|
|
17
31
|
Call InsumerAPI, get a signed attestation, verify it:
|
|
@@ -163,7 +177,7 @@ const result = await verifyAttestation(apiResponse, { maxAge: 120 });
|
|
|
163
177
|
// Fails if any blockTimestamp is older than 120 seconds
|
|
164
178
|
```
|
|
165
179
|
|
|
166
|
-
Results without `blockTimestamp` (Covalent and
|
|
180
|
+
Results without `blockTimestamp` (Covalent, Solana, and XRPL chains) are skipped, not treated as failures.
|
|
167
181
|
|
|
168
182
|
### JWKS key discovery
|
|
169
183
|
|
package/build/index.js
CHANGED
|
@@ -252,7 +252,7 @@ function checkFreshness(results, maxAge) {
|
|
|
252
252
|
for (let i = 0; i < results.length; i++) {
|
|
253
253
|
const r = results[i];
|
|
254
254
|
if (!r.blockTimestamp)
|
|
255
|
-
continue; // Covalent/Solana results lack blockTimestamp
|
|
255
|
+
continue; // Covalent/Solana/XRPL results lack blockTimestamp
|
|
256
256
|
const age = now - new Date(r.blockTimestamp).getTime();
|
|
257
257
|
if (age > maxAgeMs) {
|
|
258
258
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "insumer-verify",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Client-side verifier for InsumerAPI attestations. ECDSA P-256 signatures, condition hashes, block freshness, expiry. Zero dependencies. Used by DJD Agent Score (Coinbase x402).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|