@nevermined-io/openclaw-plugin 1.3.2 → 1.4.1
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 +22 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +18 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +96 -5
- package/dist/tools.js.map +1 -1
- package/docs/commands.md +12 -2
- package/docs/getting-started.md +3 -1
- package/docs/guide.md +11 -4
- package/openclaw.plugin.json +50 -9
- package/package.json +22 -3
- package/skills/nevermined/SKILL.md +55 -6
package/README.md
CHANGED
|
@@ -2,12 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
OpenClaw plugin for [Nevermined](https://nevermined.io) — exposes AI agent payment operations as gateway tools callable from any OpenClaw channel (Telegram, Discord, WhatsApp, etc.).
|
|
4
4
|
|
|
5
|
+
## Official source & provenance
|
|
6
|
+
|
|
7
|
+
This plugin is published from the [`nevermined-io/payments`](https://github.com/nevermined-io/payments) monorepo (subdirectory `openclaw/`) by Nevermined AG.
|
|
8
|
+
|
|
9
|
+
| | |
|
|
10
|
+
|---|---|
|
|
11
|
+
| **npm package** | [`@nevermined-io/openclaw-plugin`](https://www.npmjs.com/package/@nevermined-io/openclaw-plugin) — published with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) attestations from this repo's `release.yml` workflow. |
|
|
12
|
+
| **GitHub repository** | https://github.com/nevermined-io/payments (subdirectory [`openclaw/`](https://github.com/nevermined-io/payments/tree/main/openclaw)) |
|
|
13
|
+
| **License** | Apache-2.0 |
|
|
14
|
+
| **Security policy** | https://github.com/nevermined-io/payments/security/policy |
|
|
15
|
+
| **Issue tracker** | https://github.com/nevermined-io/payments/issues |
|
|
16
|
+
|
|
17
|
+
> ✅ **Official ClawHub listing.** The official skill lives at [`clawhub.ai/nevermined/nevermined-payments`](https://clawhub.ai/nevermined/nevermined-payments) under the `@nevermined` org publisher. Treat any other ClawHub publisher as a third-party mirror until further notice. The canonical npm package is [`@nevermined-io/openclaw-plugin`](https://www.npmjs.com/package/@nevermined-io/openclaw-plugin).
|
|
18
|
+
>
|
|
19
|
+
> 🔐 **Never log payment tokens.** x402 access tokens (the `payment-signature` header) are bearer credentials. Treat them like API keys: redact them in any debug output, log pipeline, or telemetry exporter (pino, winston, OpenTelemetry, etc.).
|
|
20
|
+
|
|
5
21
|
## Installation
|
|
6
22
|
|
|
7
23
|
```bash
|
|
8
|
-
openclaw plugin install @nevermined-io/openclaw-plugin
|
|
24
|
+
openclaw plugin install @nevermined-io/openclaw-plugin@^1.1
|
|
9
25
|
```
|
|
10
26
|
|
|
27
|
+
The plugin requires `@nevermined-io/payments@^1.1` as a peer dependency. Pin both packages in production deployments (lockfiles, container images) so SDK upgrades are explicit and reviewable.
|
|
28
|
+
|
|
11
29
|
## Authentication
|
|
12
30
|
|
|
13
31
|
The plugin supports two ways to provide your Nevermined API key:
|
|
@@ -77,8 +95,9 @@ Add your API key directly to `openclaw.json`:
|
|
|
77
95
|
|------|-------------|------------|
|
|
78
96
|
| `nevermined_checkBalance` | Check credit balance for a plan | `planId` |
|
|
79
97
|
| `nevermined_getAccessToken` | Get an x402 access token | `planId`, `agentId` |
|
|
80
|
-
| `nevermined_orderPlan` | Purchase a payment plan | `planId` |
|
|
81
|
-
| `
|
|
98
|
+
| `nevermined_orderPlan` | Purchase a crypto payment plan (two-step: returns a quote until `confirm: true` is passed) | `planId`, `confirm` |
|
|
99
|
+
| `nevermined_orderFiatPlan` | Order a fiat payment plan (two-step: returns a quote until `confirm: true` is passed) | `planId`, `confirm` |
|
|
100
|
+
| `nevermined_queryAgent` | Query an agent end-to-end (HTTPS recommended) | `agentUrl`, `prompt`, `planId`, `agentId` |
|
|
82
101
|
|
|
83
102
|
### Builder Tools
|
|
84
103
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { validateConfig, createPaymentsFromConfig, requireApiKey } from './config.js';
|
|
2
|
+
import { redactToken } from './tools.js';
|
|
2
3
|
import { Payments } from '@nevermined-io/payments';
|
|
3
4
|
import type { NeverminedPluginConfig } from './config.js';
|
|
4
5
|
import type { AgentHandler } from './paid-endpoint.js';
|
|
@@ -7,6 +8,7 @@ export type { AgentHandler };
|
|
|
7
8
|
export { validateConfig, createPaymentsFromConfig, requireApiKey };
|
|
8
9
|
export { startLoginFlow, openBrowser } from './auth.js';
|
|
9
10
|
export { registerPaidEndpoint, mockWeatherHandler } from './paid-endpoint.js';
|
|
11
|
+
export { redactToken };
|
|
10
12
|
/**
|
|
11
13
|
* HTTP route handler signature used by OpenClaw's registerHttpRoute.
|
|
12
14
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAA;AACxG,OAAO,EAAe,WAAW,EAAE,MAAM,YAAY,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAwB,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,sBAAsB,EAAa,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,YAAY,EAAE,sBAAsB,EAAE,CAAA;AACtC,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAE,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,mBAAmB,EACxB,GAAG,EAAE,kBAAkB,KACpB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACtD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IACrE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;QAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;QAC3B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAC7B,CAAA;IACD,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;IAClF,eAAe,CAAC,OAAO,EAAE;QACvB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;KACzE,GAAG,IAAI,CAAA;IACR,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7D,iBAAiB,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5E,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAA;CACtE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,QAAQ,CAAA;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,QAAA,MAAM,gBAAgB;;;;kBAKN,iBAAiB,YAAY,eAAe,GAAG,IAAI;CAqSlE,CAAA;AAyED,eAAe,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { validateConfig, createPaymentsFromConfig, requireApiKey, getEffectivePlans } from './config.js';
|
|
2
|
-
import { createTools } from './tools.js';
|
|
2
|
+
import { createTools, redactToken } from './tools.js';
|
|
3
3
|
import { startLoginFlow, looksLikeApiKey, getLoginUrl, getApiKeyUrl } from './auth.js';
|
|
4
4
|
import { registerPaidEndpoint } from './paid-endpoint.js';
|
|
5
5
|
import { buildPaymentRequired } from '@nevermined-io/payments';
|
|
6
6
|
export { validateConfig, createPaymentsFromConfig, requireApiKey };
|
|
7
7
|
export { startLoginFlow, openBrowser } from './auth.js';
|
|
8
8
|
export { registerPaidEndpoint, mockWeatherHandler } from './paid-endpoint.js';
|
|
9
|
+
export { redactToken };
|
|
9
10
|
/**
|
|
10
11
|
* OpenClaw plugin definition object.
|
|
11
12
|
* Exports id, name, description, and a register function.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -19,5 +19,23 @@ interface ToolResult {
|
|
|
19
19
|
text: string;
|
|
20
20
|
}>;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Fetch a plan summary so the agent can show price, credits, and environment to the user
|
|
24
|
+
* before they pass `confirm: true`. Used to gate the order tools per ClawHub finding #1.
|
|
25
|
+
*
|
|
26
|
+
* Field paths follow the canonical `getPlan` response shape (`metadata.main.*`,
|
|
27
|
+
* `metadata.plan.*`, `registry.credits.amount`, `registry.price.*`); BigInts are
|
|
28
|
+
* stringified so the JSON envelope serialises safely.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildOrderQuote(getPayments: () => Payments, planId: string, paymentType: 'crypto' | 'fiat', config: NeverminedPluginConfig): Promise<Record<string, unknown>>;
|
|
31
|
+
/**
|
|
32
|
+
* Redact a bearer token / payment-signature for safe logging. Output forms:
|
|
33
|
+
* - Empty / non-string input → `"<empty>"`
|
|
34
|
+
* - Length ≤ 12 → `"ab…yz"` (head 2 + ellipsis + tail 2 = 5 chars)
|
|
35
|
+
* - Length > 12 → `"eyJhbG…aA1c"` (head 6 + ellipsis + tail 4 = 11 chars)
|
|
36
|
+
*
|
|
37
|
+
* Intended for debug output and log redactors — never reconstructs the token.
|
|
38
|
+
*/
|
|
39
|
+
export declare function redactToken(token: unknown): string;
|
|
22
40
|
export {};
|
|
23
41
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AA0BzD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AA0BzD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,EAAE,CA0Wd;AAiCD,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/E;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/C;AAyED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,GAAG,MAAM,EAC9B,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8BlC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIlD"}
|
package/dist/tools.js
CHANGED
|
@@ -81,17 +81,21 @@ export function createTools(getPayments, config) {
|
|
|
81
81
|
{
|
|
82
82
|
name: 'nevermined_orderPlan',
|
|
83
83
|
label: 'Nevermined Order Plan',
|
|
84
|
-
description: 'Order (purchase) a Nevermined crypto payment plan',
|
|
84
|
+
description: 'Order (purchase) a Nevermined crypto payment plan. Two-step: returns a quote until called again with confirm:true.',
|
|
85
85
|
parameters: {
|
|
86
86
|
type: 'object',
|
|
87
87
|
properties: {
|
|
88
88
|
planId: { type: 'string', description: 'The payment plan ID to order' },
|
|
89
|
+
confirm: { type: 'boolean', description: 'Set to true to execute the on-chain purchase. Without confirm:true the tool returns the plan summary only.' },
|
|
89
90
|
},
|
|
90
91
|
},
|
|
91
92
|
async execute(_id, params) {
|
|
92
93
|
const planId = str(params, 'planId') ?? resolveDefaultPlanId(config, 'crypto');
|
|
93
94
|
if (!planId)
|
|
94
95
|
throw new Error('planId is required — provide it as a parameter or in the plugin config');
|
|
96
|
+
if (!isConfirmed(params)) {
|
|
97
|
+
return result(await buildOrderQuote(getPayments, planId, 'crypto', config));
|
|
98
|
+
}
|
|
95
99
|
const res = await getPayments().plans.orderPlan(planId);
|
|
96
100
|
return result(res);
|
|
97
101
|
},
|
|
@@ -99,17 +103,21 @@ export function createTools(getPayments, config) {
|
|
|
99
103
|
{
|
|
100
104
|
name: 'nevermined_orderFiatPlan',
|
|
101
105
|
label: 'Nevermined Order Fiat Plan',
|
|
102
|
-
description: 'Order a fiat payment plan — returns a Stripe checkout URL
|
|
106
|
+
description: 'Order a fiat payment plan — returns a Stripe checkout URL. Two-step: returns a quote until called again with confirm:true.',
|
|
103
107
|
parameters: {
|
|
104
108
|
type: 'object',
|
|
105
109
|
properties: {
|
|
106
110
|
planId: { type: 'string', description: 'The payment plan ID to order' },
|
|
111
|
+
confirm: { type: 'boolean', description: 'Set to true to receive the Stripe checkout URL. Without confirm:true the tool returns the plan summary only.' },
|
|
107
112
|
},
|
|
108
113
|
},
|
|
109
114
|
async execute(_id, params) {
|
|
110
115
|
const planId = str(params, 'planId') ?? resolveDefaultPlanId(config, 'fiat');
|
|
111
116
|
if (!planId)
|
|
112
117
|
throw new Error('planId is required — provide it as a parameter or in the plugin config');
|
|
118
|
+
if (!isConfirmed(params)) {
|
|
119
|
+
return result(await buildOrderQuote(getPayments, planId, 'fiat', config));
|
|
120
|
+
}
|
|
113
121
|
const res = await getPayments().plans.orderFiatPlan(planId);
|
|
114
122
|
return result(res);
|
|
115
123
|
},
|
|
@@ -155,13 +163,14 @@ export function createTools(getPayments, config) {
|
|
|
155
163
|
throw new Error('planId is required — provide it as a parameter or in the plugin config');
|
|
156
164
|
const agentId = str(params, 'agentId') ?? config.agentId;
|
|
157
165
|
const method = str(params, 'method') ?? 'POST';
|
|
166
|
+
warnIfInsecureUrl(agentUrl);
|
|
158
167
|
const tokenOptions = await buildTokenOptions(getPayments, params, config);
|
|
159
168
|
const { accessToken } = await getPayments().x402.getX402AccessToken(planId, agentId, tokenOptions);
|
|
160
169
|
const response = await fetch(agentUrl, {
|
|
161
170
|
method,
|
|
162
171
|
headers: {
|
|
163
172
|
'Content-Type': 'application/json',
|
|
164
|
-
'
|
|
173
|
+
'payment-signature': accessToken,
|
|
165
174
|
},
|
|
166
175
|
body: method !== 'GET' ? JSON.stringify({ prompt }) : undefined,
|
|
167
176
|
});
|
|
@@ -233,7 +242,7 @@ export function createTools(getPayments, config) {
|
|
|
233
242
|
const res = await getPayments().agents.registerAgentAndPlan({ name, description }, { endpoints: [{ POST: agentUrl }], agentDefinitionUrl: agentUrl }, { name: planName }, priceConfig, {
|
|
234
243
|
isRedemptionAmountFixed: true,
|
|
235
244
|
redemptionType: 4,
|
|
236
|
-
|
|
245
|
+
onchainMirror: false,
|
|
237
246
|
durationSecs: 0n,
|
|
238
247
|
amount: BigInt(creditsAmount),
|
|
239
248
|
minAmount: 1n,
|
|
@@ -319,7 +328,7 @@ export function createTools(getPayments, config) {
|
|
|
319
328
|
const res = await getPayments().plans.registerPlan({ name, description, accessLimit }, priceConfig, {
|
|
320
329
|
isRedemptionAmountFixed: true,
|
|
321
330
|
redemptionType: 4,
|
|
322
|
-
|
|
331
|
+
onchainMirror: false,
|
|
323
332
|
durationSecs: 0n,
|
|
324
333
|
amount: BigInt(creditsAmount),
|
|
325
334
|
minAmount: 1n,
|
|
@@ -410,4 +419,86 @@ function parsePriceToBigInt(priceStr, pricingType) {
|
|
|
410
419
|
}
|
|
411
420
|
return BigInt(trimmed);
|
|
412
421
|
}
|
|
422
|
+
/** Whether the caller passed an explicit confirm:true. Anything else (false, "false", undefined) is treated as a quote request. */
|
|
423
|
+
function isConfirmed(params) {
|
|
424
|
+
const raw = params.confirm;
|
|
425
|
+
if (typeof raw === 'boolean')
|
|
426
|
+
return raw;
|
|
427
|
+
if (typeof raw === 'string')
|
|
428
|
+
return raw.toLowerCase() === 'true';
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Fetch a plan summary so the agent can show price, credits, and environment to the user
|
|
433
|
+
* before they pass `confirm: true`. Used to gate the order tools per ClawHub finding #1.
|
|
434
|
+
*
|
|
435
|
+
* Field paths follow the canonical `getPlan` response shape (`metadata.main.*`,
|
|
436
|
+
* `metadata.plan.*`, `registry.credits.amount`, `registry.price.*`); BigInts are
|
|
437
|
+
* stringified so the JSON envelope serialises safely.
|
|
438
|
+
*/
|
|
439
|
+
export async function buildOrderQuote(getPayments, planId, paymentType, config) {
|
|
440
|
+
let summary = { planId };
|
|
441
|
+
try {
|
|
442
|
+
const plan = (await getPayments().plans.getPlan(planId));
|
|
443
|
+
if (plan && typeof plan === 'object') {
|
|
444
|
+
const main = plan.metadata?.main;
|
|
445
|
+
const planMeta = plan.metadata?.plan;
|
|
446
|
+
const creditsAmount = plan.registry?.credits?.amount;
|
|
447
|
+
// Always echo the user-provided planId so a follow-up `confirm: true` call
|
|
448
|
+
// re-uses the same identifier the agent already showed the user.
|
|
449
|
+
summary = {
|
|
450
|
+
planId,
|
|
451
|
+
name: main?.name,
|
|
452
|
+
price: main?.price,
|
|
453
|
+
credits: creditsAmount !== undefined ? creditsAmount.toString() : undefined,
|
|
454
|
+
accessLimit: planMeta?.accessLimit,
|
|
455
|
+
currency: planMeta?.currency,
|
|
456
|
+
fiatPaymentProvider: planMeta?.fiatPaymentProvider,
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
catch {
|
|
461
|
+
// Plan lookup failures shouldn't block the quote — the LLM can still confirm explicitly.
|
|
462
|
+
}
|
|
463
|
+
return {
|
|
464
|
+
...summary,
|
|
465
|
+
paymentType,
|
|
466
|
+
environment: config.environment ?? 'sandbox',
|
|
467
|
+
requiresConfirmation: true,
|
|
468
|
+
message: 'Re-call with confirm: true to proceed.',
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Redact a bearer token / payment-signature for safe logging. Output forms:
|
|
473
|
+
* - Empty / non-string input → `"<empty>"`
|
|
474
|
+
* - Length ≤ 12 → `"ab…yz"` (head 2 + ellipsis + tail 2 = 5 chars)
|
|
475
|
+
* - Length > 12 → `"eyJhbG…aA1c"` (head 6 + ellipsis + tail 4 = 11 chars)
|
|
476
|
+
*
|
|
477
|
+
* Intended for debug output and log redactors — never reconstructs the token.
|
|
478
|
+
*/
|
|
479
|
+
export function redactToken(token) {
|
|
480
|
+
if (typeof token !== 'string' || token.length === 0)
|
|
481
|
+
return '<empty>';
|
|
482
|
+
if (token.length <= 12)
|
|
483
|
+
return `${token.slice(0, 2)}…${token.slice(-2)}`;
|
|
484
|
+
return `${token.slice(0, 6)}…${token.slice(-4)}`;
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Warn (do not throw) when an agent URL is not HTTPS. Local development
|
|
488
|
+
* (`localhost`, `127.0.0.1`, `::1`) is allowed silently. ClawHub finding #6.
|
|
489
|
+
*/
|
|
490
|
+
function warnIfInsecureUrl(url) {
|
|
491
|
+
try {
|
|
492
|
+
const parsed = new URL(url);
|
|
493
|
+
if (parsed.protocol === 'https:')
|
|
494
|
+
return;
|
|
495
|
+
const host = parsed.hostname;
|
|
496
|
+
if (host === 'localhost' || host === '127.0.0.1' || host === '::1')
|
|
497
|
+
return;
|
|
498
|
+
console.warn(`[nevermined] agentUrl uses ${parsed.protocol}//${host} — payment-signature tokens must only be sent over HTTPS in production.`);
|
|
499
|
+
}
|
|
500
|
+
catch {
|
|
501
|
+
// Invalid URLs will be surfaced by the fetch call itself.
|
|
502
|
+
}
|
|
503
|
+
}
|
|
413
504
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/docs/commands.md
CHANGED
|
@@ -102,14 +102,19 @@ Purchase a payment plan using cryptocurrency. This initiates an on-chain transac
|
|
|
102
102
|
|
|
103
103
|
Use this for plans priced in native tokens (ETH, MATIC) or ERC-20 tokens (USDC). For plans priced in fiat currency, use `nevermined_orderFiatPlan` instead.
|
|
104
104
|
|
|
105
|
+
> ⚠️ **Two-step confirmation flow.** This tool spends real money. The first call returns a *quote* — `planId`, `name`, `price`, `credits`, `paymentType`, `environment`, plus the literal `"Re-call with confirm: true to proceed."`. The agent must show that quote to the user and only call again with `confirm: true` once the user has explicitly approved.
|
|
106
|
+
|
|
105
107
|
| Parameter | Type | Required | Default | Description |
|
|
106
108
|
|-----------|------|----------|---------|-------------|
|
|
107
109
|
| `planId` | string | No | Config `planId` | The plan ID to purchase |
|
|
110
|
+
| `confirm` | boolean | No | `false` | Set to `true` only after the user has approved the quote returned by the first call. |
|
|
108
111
|
|
|
109
112
|
**Example prompt:**
|
|
110
113
|
> Buy the Weather Forecast plan so I can start querying the agent.
|
|
111
114
|
|
|
112
|
-
**Returns:**
|
|
115
|
+
**Returns:**
|
|
116
|
+
- Without `confirm: true`: `{ planId, name, price, credits, paymentType, environment, requiresConfirmation: true, message: "Re-call with confirm: true to proceed." }`
|
|
117
|
+
- With `confirm: true`: order confirmation with transaction hash.
|
|
113
118
|
|
|
114
119
|
---
|
|
115
120
|
|
|
@@ -119,14 +124,19 @@ Purchase a payment plan using fiat currency (USD). Instead of executing an on-ch
|
|
|
119
124
|
|
|
120
125
|
Use this for plans that have been created with `pricingType: fiat`. For crypto-priced plans, use `nevermined_orderPlan` instead.
|
|
121
126
|
|
|
127
|
+
> ⚠️ **Two-step confirmation flow.** Same as `nevermined_orderPlan`: the first call returns a quote, the second call (with `confirm: true`) issues the Stripe checkout URL.
|
|
128
|
+
|
|
122
129
|
| Parameter | Type | Required | Default | Description |
|
|
123
130
|
|-----------|------|----------|---------|-------------|
|
|
124
131
|
| `planId` | string | No | Config `planId` | The plan ID to purchase |
|
|
132
|
+
| `confirm` | boolean | No | `false` | Set to `true` only after the user has approved the quote returned by the first call. |
|
|
125
133
|
|
|
126
134
|
**Example prompt:**
|
|
127
135
|
> I want to subscribe to the Premium Agent plan using my credit card.
|
|
128
136
|
|
|
129
137
|
**Returns:**
|
|
138
|
+
- Without `confirm: true`: `{ planId, name, price, credits, paymentType: "fiat", environment, requiresConfirmation: true, message: "Re-call with confirm: true to proceed." }`
|
|
139
|
+
- With `confirm: true`:
|
|
130
140
|
```json
|
|
131
141
|
{
|
|
132
142
|
"result": {
|
|
@@ -168,7 +178,7 @@ No parameters required.
|
|
|
168
178
|
Send a prompt to a paid Nevermined AI agent and get the response. This is the main tool for interacting with agents — it handles the full payment lifecycle in a single call:
|
|
169
179
|
|
|
170
180
|
1. Acquires an x402 access token (crypto or fiat, depending on `paymentType`)
|
|
171
|
-
2. Sends the prompt to the agent's URL with the `
|
|
181
|
+
2. Sends the prompt to the agent's URL with the `payment-signature` header
|
|
172
182
|
3. Returns the agent's response
|
|
173
183
|
|
|
174
184
|
If the agent returns a 402 (Payment Required) response, the tool returns an error suggesting you purchase credits first. This typically means your plan has run out of credits or you haven't subscribed yet.
|
package/docs/getting-started.md
CHANGED
|
@@ -19,9 +19,11 @@ The Nevermined OpenClaw plugin exposes AI agent payment operations as gateway to
|
|
|
19
19
|
Install the plugin from your OpenClaw gateway:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
openclaw plugin install @nevermined-io/openclaw-plugin
|
|
22
|
+
openclaw plugin install @nevermined-io/openclaw-plugin@^1.1
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
The plugin requires `@nevermined-io/payments@^1.1` as a peer dependency. Pin both packages and commit your lockfile so SDK upgrades are explicit.
|
|
26
|
+
|
|
25
27
|
## Authentication
|
|
26
28
|
|
|
27
29
|
<Note>
|
package/docs/guide.md
CHANGED
|
@@ -43,15 +43,22 @@ The plugin adds 9 payment tools and 2 slash commands to your OpenClaw gateway:
|
|
|
43
43
|
- Node.js >= 18
|
|
44
44
|
- A [Nevermined account](https://nevermined.app) with an API key
|
|
45
45
|
|
|
46
|
+
> 🔐 **Security expectations.** This plugin issues `payment-signature` bearer tokens that authorise spending against your plan. In production:
|
|
47
|
+
>
|
|
48
|
+
> - **Use HTTPS for every `agentUrl`** passed to `nevermined_queryAgent`. The tool warns when the URL is not `https://` (loopback hosts excepted for local dev).
|
|
49
|
+
> - **Validate agent cards** at `<agentUrl>/.well-known/agent.json` before issuing a paid request — confirm `agentId` and supported X402 schemes match what you expect.
|
|
50
|
+
> - **Never log payment tokens** — redact the `payment-signature` header in pino, winston, OpenTelemetry, and any sentry/datadog/log-shipping layer.
|
|
51
|
+
> - **Confirm before ordering** — `nevermined_orderPlan` and `nevermined_orderFiatPlan` are gated by a `confirm: true` parameter so the agent must show the user the price/credits/environment first.
|
|
52
|
+
|
|
46
53
|
## Step 1: Install the Plugin
|
|
47
54
|
|
|
48
55
|
From your OpenClaw gateway server:
|
|
49
56
|
|
|
50
57
|
```bash
|
|
51
|
-
openclaw plugin install @nevermined-io/openclaw-plugin
|
|
58
|
+
openclaw plugin install @nevermined-io/openclaw-plugin@^1.1
|
|
52
59
|
```
|
|
53
60
|
|
|
54
|
-
Or install manually by placing the package in `~/.openclaw/extensions/nevermined/`.
|
|
61
|
+
Or install manually by placing the package in `~/.openclaw/extensions/nevermined/`. Pin the major version and commit your lockfile so SDK upgrades are explicit.
|
|
55
62
|
|
|
56
63
|
After installation, restart the gateway:
|
|
57
64
|
|
|
@@ -181,7 +188,7 @@ Should show 5 credits.
|
|
|
181
188
|
|
|
182
189
|
The Claw calls `nevermined_queryAgent`, which:
|
|
183
190
|
1. Acquires an x402 access token
|
|
184
|
-
2. Sends the prompt with a `
|
|
191
|
+
2. Sends the prompt with a `payment-signature` header
|
|
185
192
|
3. The paid endpoint verifies, processes, and settles
|
|
186
193
|
4. Returns the weather forecast
|
|
187
194
|
|
|
@@ -218,7 +225,7 @@ The Claw calls `nevermined_orderFiatPlan`, which returns a Stripe checkout URL.
|
|
|
218
225
|
The Claw calls `nevermined_queryAgent` with `paymentType: fiat`. The plugin:
|
|
219
226
|
1. Looks up enrolled payment methods (or uses the specified `paymentMethodId`)
|
|
220
227
|
2. Gets an x402 access token using the `nvm:card-delegation` scheme
|
|
221
|
-
3. Sends the request with the `
|
|
228
|
+
3. Sends the request with the `payment-signature` header
|
|
222
229
|
4. The agent verifies and settles as usual
|
|
223
230
|
|
|
224
231
|
You can also set `paymentType: fiat` in the plugin config to make fiat the default for all calls.
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "openclaw-plugin",
|
|
3
3
|
"name": "@nevermined-io/openclaw-plugin",
|
|
4
|
-
"
|
|
4
|
+
"version": "1.4.1",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"description": "Official Nevermined plugin for OpenClaw — AI-agent payments, x402 access tokens, and gateway tools.",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Nevermined AG",
|
|
9
|
+
"url": "https://nevermined.io"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://nevermined.io",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/nevermined-io/payments.git",
|
|
15
|
+
"directory": "openclaw"
|
|
16
|
+
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/nevermined-io/payments/issues"
|
|
19
|
+
},
|
|
20
|
+
"security": {
|
|
21
|
+
"url": "https://github.com/nevermined-io/payments/security/policy"
|
|
22
|
+
},
|
|
5
23
|
"configSchema": {
|
|
6
24
|
"type": "object",
|
|
7
25
|
"additionalProperties": false,
|
|
@@ -12,7 +30,10 @@
|
|
|
12
30
|
},
|
|
13
31
|
"environment": {
|
|
14
32
|
"type": "string",
|
|
15
|
-
"enum": [
|
|
33
|
+
"enum": [
|
|
34
|
+
"sandbox",
|
|
35
|
+
"live"
|
|
36
|
+
],
|
|
16
37
|
"default": "sandbox",
|
|
17
38
|
"description": "Nevermined environment to connect to"
|
|
18
39
|
},
|
|
@@ -30,18 +51,35 @@
|
|
|
30
51
|
"items": {
|
|
31
52
|
"type": "object",
|
|
32
53
|
"properties": {
|
|
33
|
-
"planId": {
|
|
34
|
-
|
|
54
|
+
"planId": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "The Nevermined plan ID"
|
|
57
|
+
},
|
|
58
|
+
"name": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "Human-readable plan name"
|
|
61
|
+
},
|
|
35
62
|
"paymentType": {
|
|
36
63
|
"type": "string",
|
|
37
|
-
"enum": [
|
|
64
|
+
"enum": [
|
|
65
|
+
"crypto",
|
|
66
|
+
"fiat"
|
|
67
|
+
],
|
|
38
68
|
"default": "crypto",
|
|
39
69
|
"description": "crypto (nvm:erc4337) or fiat (nvm:card-delegation)"
|
|
40
70
|
},
|
|
41
|
-
"credits": {
|
|
42
|
-
|
|
71
|
+
"credits": {
|
|
72
|
+
"type": "number",
|
|
73
|
+
"description": "Number of credits this plan grants"
|
|
74
|
+
},
|
|
75
|
+
"price": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "Human-readable price (e.g. '$1', '2 USDC')"
|
|
78
|
+
}
|
|
43
79
|
},
|
|
44
|
-
"required": [
|
|
80
|
+
"required": [
|
|
81
|
+
"planId"
|
|
82
|
+
]
|
|
45
83
|
}
|
|
46
84
|
},
|
|
47
85
|
"agentId": {
|
|
@@ -70,7 +108,10 @@
|
|
|
70
108
|
},
|
|
71
109
|
"paymentType": {
|
|
72
110
|
"type": "string",
|
|
73
|
-
"enum": [
|
|
111
|
+
"enum": [
|
|
112
|
+
"crypto",
|
|
113
|
+
"fiat"
|
|
114
|
+
],
|
|
74
115
|
"default": "crypto",
|
|
75
116
|
"description": "Default payment type for tools: crypto (nvm:erc4337) or fiat (nvm:card-delegation)"
|
|
76
117
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nevermined-io/openclaw-plugin",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "OpenClaw plugin for Nevermined — exposes subscriber and builder tools as gateway methods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/jest": "^29.5.0",
|
|
32
32
|
"jest": "^29.7.0",
|
|
33
33
|
"ts-jest": "^29.1.0",
|
|
34
|
-
"typescript": "^
|
|
34
|
+
"typescript": "^6.0.3",
|
|
35
35
|
"eslint": "^8.57.0",
|
|
36
36
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
37
37
|
"@typescript-eslint/parser": "^7.0.0"
|
|
@@ -40,15 +40,34 @@
|
|
|
40
40
|
"zod": "^3.23.0"
|
|
41
41
|
},
|
|
42
42
|
"license": "Apache-2.0",
|
|
43
|
+
"author": {
|
|
44
|
+
"name": "Nevermined AG",
|
|
45
|
+
"url": "https://nevermined.io"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/nevermined-io/payments/tree/main/openclaw#readme",
|
|
43
48
|
"repository": {
|
|
44
49
|
"type": "git",
|
|
45
50
|
"url": "https://github.com/nevermined-io/payments.git",
|
|
46
51
|
"directory": "openclaw"
|
|
47
52
|
},
|
|
53
|
+
"bugs": {
|
|
54
|
+
"url": "https://github.com/nevermined-io/payments/issues"
|
|
55
|
+
},
|
|
56
|
+
"funding": "https://nevermined.io",
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public",
|
|
59
|
+
"provenance": true
|
|
60
|
+
},
|
|
48
61
|
"openclaw": {
|
|
49
62
|
"extensions": [
|
|
50
63
|
"./dist/index.js"
|
|
51
|
-
]
|
|
64
|
+
],
|
|
65
|
+
"compat": {
|
|
66
|
+
"pluginApi": "*"
|
|
67
|
+
},
|
|
68
|
+
"build": {
|
|
69
|
+
"openclawVersion": "2026.3.24-beta.2"
|
|
70
|
+
}
|
|
52
71
|
},
|
|
53
72
|
"keywords": [
|
|
54
73
|
"nevermined",
|
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: Nevermined Payments
|
|
3
|
+
description: Pay-per-use payments and access control for AI agents — x402 access tokens, MCP/A2A bridges, and credit plans for OpenClaw.
|
|
2
4
|
metadata:
|
|
5
|
+
clawdis:
|
|
6
|
+
author: Nevermined AG
|
|
7
|
+
homepage: https://nevermined.io
|
|
8
|
+
primaryEnv: NVM_API_KEY
|
|
9
|
+
links:
|
|
10
|
+
homepage: https://nevermined.io
|
|
11
|
+
repository: https://github.com/nevermined-io/payments
|
|
12
|
+
documentation: https://docs.nevermined.io/docs/api-reference/openclaw-plugin
|
|
13
|
+
changelog: https://github.com/nevermined-io/payments/releases
|
|
14
|
+
requires:
|
|
15
|
+
env:
|
|
16
|
+
- NVM_API_KEY
|
|
17
|
+
config:
|
|
18
|
+
- plugins.openclaw-plugin
|
|
19
|
+
envVars:
|
|
20
|
+
- name: NVM_API_KEY
|
|
21
|
+
required: true
|
|
22
|
+
description: "Nevermined API key. Use /nvm_login for browser-based authentication, or set this directly. Tokens are prefixed with sandbox: or live: depending on environment."
|
|
23
|
+
- name: NVM_ENVIRONMENT
|
|
24
|
+
required: false
|
|
25
|
+
description: "Nevermined environment to connect to: sandbox (default) or live."
|
|
26
|
+
- name: NVM_PLAN_ID
|
|
27
|
+
required: false
|
|
28
|
+
description: "Default payment plan ID for subscriber tools (checkBalance, getAccessToken, queryAgent)."
|
|
29
|
+
- name: NVM_AGENT_ID
|
|
30
|
+
required: false
|
|
31
|
+
description: "Default agent ID. Required when querying agents in multi-agent plans."
|
|
32
|
+
- name: BUILDER_ADDRESS
|
|
33
|
+
required: false
|
|
34
|
+
description: "0x-prefixed wallet address that receives plan revenue. Used by builder/registration tools when no priceReceivers are supplied."
|
|
35
|
+
dependencies:
|
|
36
|
+
- name: "@nevermined-io/payments"
|
|
37
|
+
type: npm
|
|
38
|
+
version: ">=1.1.0"
|
|
39
|
+
repository: https://github.com/nevermined-io/payments
|
|
40
|
+
- name: "@nevermined-io/openclaw-plugin"
|
|
41
|
+
type: npm
|
|
42
|
+
version: ">=1.1.0"
|
|
43
|
+
repository: https://github.com/nevermined-io/payments
|
|
3
44
|
openclaw:
|
|
4
45
|
requires:
|
|
5
46
|
config: ["plugins.openclaw-plugin"]
|
|
@@ -9,6 +50,10 @@ metadata:
|
|
|
9
50
|
|
|
10
51
|
This plugin provides gateway tools for interacting with Nevermined AI agent payments. Supports both crypto (on-chain) and fiat (credit card) payment flows.
|
|
11
52
|
|
|
53
|
+
> **Official source.** This skill is published from [`nevermined-io/payments`](https://github.com/nevermined-io/payments) (subdirectory `openclaw/`) by Nevermined AG, mirrored to ClawHub at [`clawhub.ai/nevermined/nevermined-payments`](https://clawhub.ai/nevermined/nevermined-payments) under the `@nevermined` org publisher. The npm package is [`@nevermined-io/openclaw-plugin`](https://www.npmjs.com/package/@nevermined-io/openclaw-plugin) (Apache-2.0).
|
|
54
|
+
>
|
|
55
|
+
> **Never log payment tokens.** x402 access tokens (the `payment-signature` header) are bearer credentials. Redact them in any debug or telemetry output.
|
|
56
|
+
|
|
12
57
|
## Authentication
|
|
13
58
|
|
|
14
59
|
### `/nvm_login [environment]`
|
|
@@ -33,20 +78,24 @@ Get an x402 access token for authenticating agent requests. Supports crypto and
|
|
|
33
78
|
- `spendingLimitCents` (optional) — max spend in cents for fiat (default: 1000)
|
|
34
79
|
- `delegationDurationSecs` (optional) — delegation duration in seconds for fiat (default: 3600)
|
|
35
80
|
|
|
81
|
+
The returned token is a bearer credential. Treat it like an API key — never log it, never embed it in URLs, and pass it only over HTTPS.
|
|
82
|
+
|
|
36
83
|
### `nevermined_orderPlan`
|
|
37
|
-
Purchase a crypto payment plan.
|
|
84
|
+
Purchase a crypto payment plan. **Two-step flow:** the first call returns a quote; pass `confirm: true` on the second call to actually order the plan.
|
|
38
85
|
- `planId` (optional if set in config)
|
|
86
|
+
- `confirm` (optional, default `false`) — set to `true` to execute the on-chain purchase. Without `confirm: true` the tool returns the plan summary (price, credits, paymentType, environment) plus the literal string `"Re-call with confirm: true to proceed."`.
|
|
39
87
|
|
|
40
88
|
### `nevermined_orderFiatPlan`
|
|
41
|
-
Order a fiat payment plan — returns a Stripe checkout URL.
|
|
89
|
+
Order a fiat payment plan — returns a Stripe checkout URL. **Two-step flow:** the first call returns a quote; pass `confirm: true` on the second call to receive the checkout URL.
|
|
42
90
|
- `planId` (optional if set in config)
|
|
91
|
+
- `confirm` (optional, default `false`) — set to `true` to receive the Stripe checkout URL. Without `confirm: true` the tool returns the plan summary plus the literal string `"Re-call with confirm: true to proceed."`.
|
|
43
92
|
|
|
44
93
|
### `nevermined_listPaymentMethods`
|
|
45
94
|
List enrolled credit cards available for fiat payments. No parameters.
|
|
46
95
|
|
|
47
96
|
### `nevermined_queryAgent`
|
|
48
|
-
End-to-end agent query — acquires a token, calls the agent, returns the response. Supports crypto and fiat.
|
|
49
|
-
- `agentUrl` (required) — the agent endpoint URL
|
|
97
|
+
End-to-end agent query — acquires a token, calls the agent, returns the response. Supports crypto and fiat. **Use HTTPS URLs.** The tool warns when `agentUrl` is not `https://`.
|
|
98
|
+
- `agentUrl` (required) — the agent endpoint URL. Must use `https://` outside local development.
|
|
50
99
|
- `prompt` (required) — the prompt to send
|
|
51
100
|
- `planId` (optional if set in config)
|
|
52
101
|
- `agentId` (optional if set in config)
|
|
@@ -64,7 +113,7 @@ Register a new AI agent with a payment plan.
|
|
|
64
113
|
- `agentUrl` (required) — agent endpoint
|
|
65
114
|
- `planName` (required) — plan name
|
|
66
115
|
- `priceAmounts` (required) — comma-separated prices in wei (crypto) or cents (fiat)
|
|
67
|
-
- `priceReceivers` (optional) — comma-separated receiver addresses. Defaults to authenticated user's wallet.
|
|
116
|
+
- `priceReceivers` (optional) — comma-separated receiver addresses. Defaults to authenticated user's wallet (or `BUILDER_ADDRESS` env var if set).
|
|
68
117
|
- `creditsAmount` (required) — number of credits
|
|
69
118
|
- `tokenAddress` (optional) — ERC20 token address (e.g. USDC). Omit for native token.
|
|
70
119
|
- `pricingType` (optional) — `"crypto"` (default), `"erc20"`, or `"fiat"`
|
|
@@ -73,7 +122,7 @@ Register a new AI agent with a payment plan.
|
|
|
73
122
|
Create a standalone payment plan. Supports fiat (Stripe), ERC20 tokens (USDC), and native crypto pricing.
|
|
74
123
|
- `name` (required) — plan name
|
|
75
124
|
- `priceAmount` (required) — price in cents for fiat (e.g. "100" = $1.00), in token smallest unit for crypto (e.g. "1000000" = 1 USDC)
|
|
76
|
-
- `receiver` (optional) — receiver wallet address (0x...). Defaults to authenticated user's wallet.
|
|
125
|
+
- `receiver` (optional) — receiver wallet address (0x...). Defaults to authenticated user's wallet (or `BUILDER_ADDRESS` env var if set).
|
|
77
126
|
- `creditsAmount` (required) — number of credits
|
|
78
127
|
- `pricingType` (optional) — `"fiat"` for Stripe/USD, `"erc20"` for ERC20 tokens like USDC, `"crypto"` for native token (default: crypto)
|
|
79
128
|
- `accessLimit` (optional) — `"credits"` or `"time"`
|