plugin-x402-endpoints 0.3.0 → 0.4.0
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/dist/index.cjs +282 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +150 -0
- package/dist/index.d.ts +150 -11
- package/dist/index.js +282 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Provider, Action, Plugin } from '@elizaos/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Types describing the x402 catalogue consumed by the plugin.
|
|
5
|
+
*
|
|
6
|
+
* The catalogue (src/catalog.json) is the single source of truth: one entry per
|
|
7
|
+
* deployed x402 endpoint. The plugin turns each entry into an ElizaOS Action and
|
|
8
|
+
* lists them in a Provider, so an Eliza agent discovers and calls them natively.
|
|
9
|
+
*/
|
|
10
|
+
interface CatalogInputSchema {
|
|
11
|
+
type: "object";
|
|
12
|
+
properties: Record<string, {
|
|
13
|
+
type: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
pattern?: string;
|
|
16
|
+
}>;
|
|
17
|
+
required?: string[];
|
|
18
|
+
}
|
|
19
|
+
interface CatalogEndpoint {
|
|
20
|
+
/** Short tool id, e.g. "gleif_lei". */
|
|
21
|
+
tool: string;
|
|
22
|
+
/** ElizaOS action name, e.g. "X402_GLEIF_LEI". */
|
|
23
|
+
action: string;
|
|
24
|
+
/** API path, e.g. "/gleif/lei". */
|
|
25
|
+
path: string;
|
|
26
|
+
/** HTTP method (all GET today). */
|
|
27
|
+
method: string;
|
|
28
|
+
/** Human price label, e.g. "$0.01". */
|
|
29
|
+
price: string;
|
|
30
|
+
/** Authority-rich semantic description (drives discovery). */
|
|
31
|
+
description: string;
|
|
32
|
+
/** Dense usage prompt for LLM agents. */
|
|
33
|
+
llm_usage_prompt?: string;
|
|
34
|
+
/** Semantic tags. */
|
|
35
|
+
tags?: string[];
|
|
36
|
+
/** JSON Schema for the query parameters. */
|
|
37
|
+
inputSchema: CatalogInputSchema;
|
|
38
|
+
/** A real example response (helps the agent before paying). */
|
|
39
|
+
outputExample?: unknown;
|
|
40
|
+
/** Payment metadata (mirrors the global values). */
|
|
41
|
+
payTo?: string;
|
|
42
|
+
network?: string;
|
|
43
|
+
asset?: string;
|
|
44
|
+
}
|
|
45
|
+
interface Catalog {
|
|
46
|
+
name: string;
|
|
47
|
+
baseUrl: string;
|
|
48
|
+
network: string;
|
|
49
|
+
asset: string;
|
|
50
|
+
payTo: string;
|
|
51
|
+
facilitator: string;
|
|
52
|
+
endpoints: CatalogEndpoint[];
|
|
53
|
+
}
|
|
54
|
+
/** Result of a paid (or discovery) call to an endpoint. */
|
|
55
|
+
type CallResult = {
|
|
56
|
+
kind: "data";
|
|
57
|
+
status: number;
|
|
58
|
+
data: unknown;
|
|
59
|
+
} | {
|
|
60
|
+
kind: "payment_required";
|
|
61
|
+
terms: PaymentTerms;
|
|
62
|
+
} | {
|
|
63
|
+
kind: "error";
|
|
64
|
+
status?: number;
|
|
65
|
+
message: string;
|
|
66
|
+
detail?: string;
|
|
67
|
+
};
|
|
68
|
+
interface PaymentTerms {
|
|
69
|
+
x402PaymentRequired: true;
|
|
70
|
+
tool: string;
|
|
71
|
+
resource: string;
|
|
72
|
+
price: string;
|
|
73
|
+
network: string;
|
|
74
|
+
asset?: string;
|
|
75
|
+
payTo?: string;
|
|
76
|
+
scheme: string;
|
|
77
|
+
maxTimeoutSeconds: number;
|
|
78
|
+
howToPay: string;
|
|
79
|
+
exampleOutput?: unknown;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Loads and exposes the bundled x402 catalogue.
|
|
84
|
+
*
|
|
85
|
+
* catalog.json is embedded at build time (resolveJsonModule), so the published
|
|
86
|
+
* plugin is self-contained and never diverges from the deployed catalogue it was
|
|
87
|
+
* built from. Runtime settings can still override baseUrl/network if needed.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
declare const catalog: Catalog;
|
|
91
|
+
declare const endpoints: CatalogEndpoint[];
|
|
92
|
+
declare const ENDPOINT_COUNT: number;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Provider that injects the x402 catalogue into the agent's context, so the agent
|
|
96
|
+
* is aware of every paid tool it can call (drives tool selection / discovery).
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
declare const x402CatalogProvider: Provider;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Builds one ElizaOS Action per catalogue endpoint.
|
|
103
|
+
*
|
|
104
|
+
* Each action:
|
|
105
|
+
* - is named after the endpoint (e.g. X402_GLEIF_LEI),
|
|
106
|
+
* - carries a dense, discovery-friendly description (+ price + usage prompt),
|
|
107
|
+
* - extracts call parameters from explicit options, structured content, or the
|
|
108
|
+
* natural-language message (via the runtime model), validating required fields,
|
|
109
|
+
* - calls the endpoint (auto-pay or discovery) and reports the result via callback.
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
declare function buildActions(): Action[];
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* x402 HTTP client for the plugin.
|
|
116
|
+
*
|
|
117
|
+
* Two modes, mirroring the MCP server:
|
|
118
|
+
* - auto-pay : a funded Base buyer key is configured -> pays the 402 and returns live data.
|
|
119
|
+
* - discovery : no key (or auto-pay disabled) -> returns the exact payment terms.
|
|
120
|
+
*
|
|
121
|
+
* x402-fetch + viem are imported lazily so an agent that never auto-pays does not
|
|
122
|
+
* need a signer at runtime.
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
interface ClientConfig {
|
|
126
|
+
baseUrl: string;
|
|
127
|
+
network: string;
|
|
128
|
+
buyerPrivateKey?: string;
|
|
129
|
+
autoPay: boolean;
|
|
130
|
+
}
|
|
131
|
+
type GetSetting = (key: string) => unknown;
|
|
132
|
+
/** Resolve runtime config from agent settings, falling back to the bundled catalogue. */
|
|
133
|
+
declare function resolveConfig(getSetting: GetSetting): ClientConfig;
|
|
134
|
+
/** Call one endpoint. Auto-pays when configured and funded; otherwise returns terms. */
|
|
135
|
+
declare function callEndpoint(ep: CatalogEndpoint, params: Record<string, unknown>, cfg: ClientConfig): Promise<CallResult>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @x402-endpoints/plugin-elizaos
|
|
139
|
+
*
|
|
140
|
+
* ElizaOS plugin exposing the x402-endpoints catalogue (28 paid data endpoints:
|
|
141
|
+
* official EU/global registries + crypto pre-trade data) as native Eliza actions,
|
|
142
|
+
* billed per call via the x402 protocol (USDC on Base mainnet).
|
|
143
|
+
*
|
|
144
|
+
* Configure X402_BUYER_PRIVATE_KEY (a funded Base wallet) to auto-pay and receive
|
|
145
|
+
* live data; otherwise actions return the exact payment terms (discovery).
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
declare const x402Plugin: Plugin;
|
|
149
|
+
|
|
150
|
+
export { type CallResult, type Catalog, type CatalogEndpoint, type CatalogInputSchema, ENDPOINT_COUNT, type PaymentTerms, buildActions, callEndpoint, catalog, x402Plugin as default, endpoints, resolveConfig, x402CatalogProvider, x402Plugin };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,150 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { Provider, Action, Plugin } from '@elizaos/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Types describing the x402 catalogue consumed by the plugin.
|
|
5
|
+
*
|
|
6
|
+
* The catalogue (src/catalog.json) is the single source of truth: one entry per
|
|
7
|
+
* deployed x402 endpoint. The plugin turns each entry into an ElizaOS Action and
|
|
8
|
+
* lists them in a Provider, so an Eliza agent discovers and calls them natively.
|
|
9
|
+
*/
|
|
10
|
+
interface CatalogInputSchema {
|
|
11
|
+
type: "object";
|
|
12
|
+
properties: Record<string, {
|
|
13
|
+
type: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
pattern?: string;
|
|
16
|
+
}>;
|
|
17
|
+
required?: string[];
|
|
18
|
+
}
|
|
19
|
+
interface CatalogEndpoint {
|
|
20
|
+
/** Short tool id, e.g. "gleif_lei". */
|
|
21
|
+
tool: string;
|
|
22
|
+
/** ElizaOS action name, e.g. "X402_GLEIF_LEI". */
|
|
23
|
+
action: string;
|
|
24
|
+
/** API path, e.g. "/gleif/lei". */
|
|
25
|
+
path: string;
|
|
26
|
+
/** HTTP method (all GET today). */
|
|
27
|
+
method: string;
|
|
28
|
+
/** Human price label, e.g. "$0.01". */
|
|
29
|
+
price: string;
|
|
30
|
+
/** Authority-rich semantic description (drives discovery). */
|
|
31
|
+
description: string;
|
|
32
|
+
/** Dense usage prompt for LLM agents. */
|
|
33
|
+
llm_usage_prompt?: string;
|
|
34
|
+
/** Semantic tags. */
|
|
35
|
+
tags?: string[];
|
|
36
|
+
/** JSON Schema for the query parameters. */
|
|
37
|
+
inputSchema: CatalogInputSchema;
|
|
38
|
+
/** A real example response (helps the agent before paying). */
|
|
39
|
+
outputExample?: unknown;
|
|
40
|
+
/** Payment metadata (mirrors the global values). */
|
|
41
|
+
payTo?: string;
|
|
42
|
+
network?: string;
|
|
43
|
+
asset?: string;
|
|
44
|
+
}
|
|
45
|
+
interface Catalog {
|
|
46
|
+
name: string;
|
|
47
|
+
baseUrl: string;
|
|
48
|
+
network: string;
|
|
49
|
+
asset: string;
|
|
50
|
+
payTo: string;
|
|
51
|
+
facilitator: string;
|
|
52
|
+
endpoints: CatalogEndpoint[];
|
|
53
|
+
}
|
|
54
|
+
/** Result of a paid (or discovery) call to an endpoint. */
|
|
55
|
+
type CallResult = {
|
|
56
|
+
kind: "data";
|
|
57
|
+
status: number;
|
|
58
|
+
data: unknown;
|
|
59
|
+
} | {
|
|
60
|
+
kind: "payment_required";
|
|
61
|
+
terms: PaymentTerms;
|
|
62
|
+
} | {
|
|
63
|
+
kind: "error";
|
|
64
|
+
status?: number;
|
|
65
|
+
message: string;
|
|
66
|
+
detail?: string;
|
|
67
|
+
};
|
|
68
|
+
interface PaymentTerms {
|
|
69
|
+
x402PaymentRequired: true;
|
|
70
|
+
tool: string;
|
|
71
|
+
resource: string;
|
|
72
|
+
price: string;
|
|
73
|
+
network: string;
|
|
74
|
+
asset?: string;
|
|
75
|
+
payTo?: string;
|
|
76
|
+
scheme: string;
|
|
77
|
+
maxTimeoutSeconds: number;
|
|
78
|
+
howToPay: string;
|
|
79
|
+
exampleOutput?: unknown;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Loads and exposes the bundled x402 catalogue.
|
|
84
|
+
*
|
|
85
|
+
* catalog.json is embedded at build time (resolveJsonModule), so the published
|
|
86
|
+
* plugin is self-contained and never diverges from the deployed catalogue it was
|
|
87
|
+
* built from. Runtime settings can still override baseUrl/network if needed.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
declare const catalog: Catalog;
|
|
91
|
+
declare const endpoints: CatalogEndpoint[];
|
|
92
|
+
declare const ENDPOINT_COUNT: number;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Provider that injects the x402 catalogue into the agent's context, so the agent
|
|
96
|
+
* is aware of every paid tool it can call (drives tool selection / discovery).
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
declare const x402CatalogProvider: Provider;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Builds one ElizaOS Action per catalogue endpoint.
|
|
103
|
+
*
|
|
104
|
+
* Each action:
|
|
105
|
+
* - is named after the endpoint (e.g. X402_GLEIF_LEI),
|
|
106
|
+
* - carries a dense, discovery-friendly description (+ price + usage prompt),
|
|
107
|
+
* - extracts call parameters from explicit options, structured content, or the
|
|
108
|
+
* natural-language message (via the runtime model), validating required fields,
|
|
109
|
+
* - calls the endpoint (auto-pay or discovery) and reports the result via callback.
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
declare function buildActions(): Action[];
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* x402 HTTP client for the plugin.
|
|
116
|
+
*
|
|
117
|
+
* Two modes, mirroring the MCP server:
|
|
118
|
+
* - auto-pay : a funded Base buyer key is configured -> pays the 402 and returns live data.
|
|
119
|
+
* - discovery : no key (or auto-pay disabled) -> returns the exact payment terms.
|
|
120
|
+
*
|
|
121
|
+
* x402-fetch + viem are imported lazily so an agent that never auto-pays does not
|
|
122
|
+
* need a signer at runtime.
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
interface ClientConfig {
|
|
126
|
+
baseUrl: string;
|
|
127
|
+
network: string;
|
|
128
|
+
buyerPrivateKey?: string;
|
|
129
|
+
autoPay: boolean;
|
|
130
|
+
}
|
|
131
|
+
type GetSetting = (key: string) => unknown;
|
|
132
|
+
/** Resolve runtime config from agent settings, falling back to the bundled catalogue. */
|
|
133
|
+
declare function resolveConfig(getSetting: GetSetting): ClientConfig;
|
|
134
|
+
/** Call one endpoint. Auto-pays when configured and funded; otherwise returns terms. */
|
|
135
|
+
declare function callEndpoint(ep: CatalogEndpoint, params: Record<string, unknown>, cfg: ClientConfig): Promise<CallResult>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @x402-endpoints/plugin-elizaos
|
|
139
|
+
*
|
|
140
|
+
* ElizaOS plugin exposing the x402-endpoints catalogue (28 paid data endpoints:
|
|
141
|
+
* official EU/global registries + crypto pre-trade data) as native Eliza actions,
|
|
142
|
+
* billed per call via the x402 protocol (USDC on Base mainnet).
|
|
143
|
+
*
|
|
144
|
+
* Configure X402_BUYER_PRIVATE_KEY (a funded Base wallet) to auto-pay and receive
|
|
145
|
+
* live data; otherwise actions return the exact payment terms (discovery).
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
declare const x402Plugin: Plugin;
|
|
149
|
+
|
|
150
|
+
export { type CallResult, type Catalog, type CatalogEndpoint, type CatalogInputSchema, ENDPOINT_COUNT, type PaymentTerms, buildActions, callEndpoint, catalog, x402Plugin as default, endpoints, resolveConfig, x402CatalogProvider, x402Plugin };
|
package/dist/index.js
CHANGED
|
@@ -2119,6 +2119,288 @@ var catalog_default = {
|
|
|
2119
2119
|
"content"
|
|
2120
2120
|
]
|
|
2121
2121
|
}
|
|
2122
|
+
},
|
|
2123
|
+
{
|
|
2124
|
+
tool: "crypto_pre_trade_verdict",
|
|
2125
|
+
action: "X402_CRYPTO_PRE_TRADE_VERDICT",
|
|
2126
|
+
path: "/crypto/pre-trade-verdict",
|
|
2127
|
+
method: "GET",
|
|
2128
|
+
price: "$0.05",
|
|
2129
|
+
description: "One-call GO/CAUTION/NO-GO pre-trade verdict for AI trading agents: fuses token safety (honeypot, rug, tax, holders), counterparty wallet sanctions screening (OFAC/mixer) and cross-exchange market signal into a single decision with a signed, offline-verifiable receipt. Should I buy this token now? Replaces three separate calls (token-safety + wallet-screen + signal) with one fused GO/NO-GO verdict. EVM chains and Solana. Price: $0.05 per call (x402 payment, USDC on Base mainnet). One-call GO/CAUTION/NO-GO pre-trade verdict fusing token safety (honeypot/rug/tax) + counterparty sanctions screening (OFAC/mixer) + cross-exchange market signal, with a signed receipt. Replaces three calls. EVM + Solana. Input: token (+chain, optional wallet).",
|
|
2130
|
+
llm_usage_prompt: "One-call GO/CAUTION/NO-GO pre-trade verdict fusing token safety (honeypot/rug/tax) + counterparty sanctions screening (OFAC/mixer) + cross-exchange market signal, with a signed receipt. Replaces three calls. EVM + Solana. Input: token (+chain, optional wallet).",
|
|
2131
|
+
tags: [
|
|
2132
|
+
"pre-trade-verdict",
|
|
2133
|
+
"token-safety",
|
|
2134
|
+
"go-no-go",
|
|
2135
|
+
"counterparty-screen",
|
|
2136
|
+
"trading-decision"
|
|
2137
|
+
],
|
|
2138
|
+
inputSchema: {
|
|
2139
|
+
type: "object",
|
|
2140
|
+
properties: {
|
|
2141
|
+
token: {
|
|
2142
|
+
type: "string",
|
|
2143
|
+
description: "Token contract (EVM 0x+40hex) or SPL mint (base58) to evaluate"
|
|
2144
|
+
},
|
|
2145
|
+
chain: {
|
|
2146
|
+
type: "string",
|
|
2147
|
+
description: "base | ethereum | bsc | polygon | arbitrum | optimism | avalanche | solana (default base)"
|
|
2148
|
+
},
|
|
2149
|
+
wallet: {
|
|
2150
|
+
type: "string",
|
|
2151
|
+
description: "Optional counterparty wallet to screen (OFAC/mixer)"
|
|
2152
|
+
}
|
|
2153
|
+
},
|
|
2154
|
+
required: [
|
|
2155
|
+
"token"
|
|
2156
|
+
]
|
|
2157
|
+
}
|
|
2158
|
+
},
|
|
2159
|
+
{
|
|
2160
|
+
tool: "agent_ledger",
|
|
2161
|
+
action: "X402_AGENT_LEDGER",
|
|
2162
|
+
path: "/agent/ledger",
|
|
2163
|
+
method: "GET",
|
|
2164
|
+
price: "$0.04",
|
|
2165
|
+
description: "Your AI agent's books in one call: structured USDC accounting for any wallet on Base (the x402 settlement asset) \u2014 revenue (incoming) vs expenses (outgoing), net, transaction count, top paying counterparties and payees, and a weekly breakdown over a 7d/30d/90d window. Turnkey bookkeeping / expense and revenue report an agent can drop straight into its accounting. The value is the structuring, not raw data access. Price: $0.04 per call (x402 payment, USDC on Base mainnet). Structured USDC accounting for a wallet on Base: revenue vs expenses, net, tx count, top payers/payees, weekly breakdown. Your agent's books in one call. Input: wallet (+period 7d/30d/90d).",
|
|
2166
|
+
llm_usage_prompt: "Structured USDC accounting for a wallet on Base: revenue vs expenses, net, tx count, top payers/payees, weekly breakdown. Your agent's books in one call. Input: wallet (+period 7d/30d/90d).",
|
|
2167
|
+
tags: [
|
|
2168
|
+
"agent-ledger",
|
|
2169
|
+
"x402-accounting",
|
|
2170
|
+
"usdc-bookkeeping",
|
|
2171
|
+
"revenue-expenses",
|
|
2172
|
+
"onchain-ledger"
|
|
2173
|
+
],
|
|
2174
|
+
inputSchema: {
|
|
2175
|
+
type: "object",
|
|
2176
|
+
properties: {
|
|
2177
|
+
wallet: {
|
|
2178
|
+
type: "string",
|
|
2179
|
+
description: "EVM wallet address (0x + 40 hex) to report on",
|
|
2180
|
+
pattern: "^0x[a-fA-F0-9]{40}$"
|
|
2181
|
+
},
|
|
2182
|
+
period: {
|
|
2183
|
+
type: "string",
|
|
2184
|
+
description: "Reporting window: 7d | 30d | 90d | all (default 30d)"
|
|
2185
|
+
}
|
|
2186
|
+
},
|
|
2187
|
+
required: [
|
|
2188
|
+
"wallet"
|
|
2189
|
+
]
|
|
2190
|
+
}
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
tool: "proof_notarize",
|
|
2194
|
+
action: "X402_PROOF_NOTARIZE",
|
|
2195
|
+
path: "/proof/notarize",
|
|
2196
|
+
method: "GET",
|
|
2197
|
+
price: "$0.01",
|
|
2198
|
+
description: "Notarize a document or data hash for AI agents: submit a SHA-256 hash (or short content hashed server-side) and get a timestamped, Ed25519-signed proof-of-existence receipt, verifiable offline with no callback. Prove an artifact, agent output or decision existed at a point in time. Honest scope: this is a SIGNED proof-of-existence receipt, NOT a blockchain-anchored or eIDAS/RFC-3161 legal timestamp. The issuer never sees your content when you send only a hash. Price: $0.01 per call (x402 payment, USDC on Base mainnet). Notarize a SHA-256 hash (or short content hashed server-side) into a timestamped, Ed25519-signed proof-of-existence receipt, verifiable offline. Signed proof, NOT a blockchain-anchored or legal (eIDAS/RFC 3161) timestamp. Input: hash or content (+memo).",
|
|
2199
|
+
llm_usage_prompt: "Notarize a SHA-256 hash (or short content hashed server-side) into a timestamped, Ed25519-signed proof-of-existence receipt, verifiable offline. Signed proof, NOT a blockchain-anchored or legal (eIDAS/RFC 3161) timestamp. Input: hash or content (+memo).",
|
|
2200
|
+
tags: [
|
|
2201
|
+
"notary",
|
|
2202
|
+
"proof-of-existence",
|
|
2203
|
+
"timestamp",
|
|
2204
|
+
"ed25519-signature",
|
|
2205
|
+
"hash-attestation"
|
|
2206
|
+
],
|
|
2207
|
+
inputSchema: {
|
|
2208
|
+
type: "object",
|
|
2209
|
+
properties: {
|
|
2210
|
+
hash: {
|
|
2211
|
+
type: "string",
|
|
2212
|
+
description: "SHA-256 hex digest (64 hex chars) to notarize",
|
|
2213
|
+
pattern: "^[0-9a-fA-F]{64}$"
|
|
2214
|
+
},
|
|
2215
|
+
content: {
|
|
2216
|
+
type: "string",
|
|
2217
|
+
description: "Alternative to hash: short content hashed server-side (SHA-256), max 100000 chars"
|
|
2218
|
+
},
|
|
2219
|
+
memo: {
|
|
2220
|
+
type: "string",
|
|
2221
|
+
description: "Optional label bound into the signed proof, e.g. 'invoice #42'"
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
tool: "crypto_token_dossier",
|
|
2228
|
+
action: "X402_CRYPTO_TOKEN_DOSSIER",
|
|
2229
|
+
path: "/crypto/token-dossier",
|
|
2230
|
+
method: "GET",
|
|
2231
|
+
price: "$0.10",
|
|
2232
|
+
description: "Full degen token dossier in one call: safety score + honeypot/tax + detailed TOP HOLDERS and concentration + liquidity/FDV/volume/pool-age + contract control (owner, creator, mintable, open-source) + an AI red-flag narrative. Deep due-diligence report on a token before aping \u2014 the premium tier above a plain safety check. EVM chains and Solana. Price: $0.10 per call (x402 payment, USDC on Base mainnet). Full token dossier: safety score + top holders + concentration + liquidity/FDV/pool-age + contract control (owner/creator/mintable) + AI red-flag narrative. Premium tier above a plain safety check. EVM + Solana. Input: token (+chain).",
|
|
2233
|
+
llm_usage_prompt: "Full token dossier: safety score + top holders + concentration + liquidity/FDV/pool-age + contract control (owner/creator/mintable) + AI red-flag narrative. Premium tier above a plain safety check. EVM + Solana. Input: token (+chain).",
|
|
2234
|
+
tags: [
|
|
2235
|
+
"token-dossier",
|
|
2236
|
+
"holders",
|
|
2237
|
+
"liquidity",
|
|
2238
|
+
"rug-check",
|
|
2239
|
+
"red-flags"
|
|
2240
|
+
],
|
|
2241
|
+
inputSchema: {
|
|
2242
|
+
type: "object",
|
|
2243
|
+
properties: {
|
|
2244
|
+
token: {
|
|
2245
|
+
type: "string",
|
|
2246
|
+
description: "Token contract (EVM 0x+40hex) or SPL mint (base58)"
|
|
2247
|
+
},
|
|
2248
|
+
chain: {
|
|
2249
|
+
type: "string",
|
|
2250
|
+
description: "base | ethereum | bsc | polygon | arbitrum | optimism | avalanche | solana (default base)"
|
|
2251
|
+
}
|
|
2252
|
+
},
|
|
2253
|
+
required: [
|
|
2254
|
+
"token"
|
|
2255
|
+
]
|
|
2256
|
+
}
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
tool: "market_intel",
|
|
2260
|
+
action: "X402_MARKET_INTEL",
|
|
2261
|
+
path: "/market/intel",
|
|
2262
|
+
method: "GET",
|
|
2263
|
+
price: "$0.10",
|
|
2264
|
+
description: "AI market intelligence report in one call for research and trading agents: cross-exchange perp derivatives (funding, open interest, long/short), fused directional signals and the euro-area macro snapshot (ECB inflation, policy rates, unemployment, EUR FX) synthesized into a headline, crypto and macro outlook, key signals, risks and opportunities. Multi-source market research report with a crypto + macro/EU lens. Price: $0.10 per call (x402 payment, USDC on Base mainnet). AI market intelligence report: cross-exchange perp derivatives (funding/OI/long-short) + fused directional signals + euro-area ECB macro (inflation, rates, unemployment, FX) synthesized into headline, crypto and macro outlook, key signals, risks, opportunities. Input: focus (crypto/macro/all), depth.",
|
|
2265
|
+
llm_usage_prompt: "AI market intelligence report: cross-exchange perp derivatives (funding/OI/long-short) + fused directional signals + euro-area ECB macro (inflation, rates, unemployment, FX) synthesized into headline, crypto and macro outlook, key signals, risks, opportunities. Input: focus (crypto/macro/all), depth.",
|
|
2266
|
+
tags: [
|
|
2267
|
+
"market-intelligence",
|
|
2268
|
+
"crypto-market-report",
|
|
2269
|
+
"macro",
|
|
2270
|
+
"derivatives",
|
|
2271
|
+
"research"
|
|
2272
|
+
],
|
|
2273
|
+
inputSchema: {
|
|
2274
|
+
type: "object",
|
|
2275
|
+
properties: {
|
|
2276
|
+
focus: {
|
|
2277
|
+
type: "string",
|
|
2278
|
+
description: "crypto | macro | all (default all)"
|
|
2279
|
+
},
|
|
2280
|
+
depth: {
|
|
2281
|
+
type: "string",
|
|
2282
|
+
description: "quick | deep \u2014 deep adds SOL and more web signals (default quick)"
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
tool: "crypto_wallet_forensics",
|
|
2289
|
+
action: "X402_CRYPTO_WALLET_FORENSICS",
|
|
2290
|
+
path: "/crypto/wallet-forensics",
|
|
2291
|
+
method: "GET",
|
|
2292
|
+
price: "$0.15",
|
|
2293
|
+
description: "Multi-hop wallet forensics for AI agents: traverse an address's ERC-20 counterparty graph across 1-3 hops and get the flow graph (nodes + edges), ranked counterparties (direction, tokens, activity) and detected patterns \u2014 flow concentration, circular flows, linked/clustered wallets and high-degree hubs (exchange/mixer/deployer) \u2014 plus a signed receipt. Trace where funds move and who is connected. EVM chains. Price: $0.15 per call (x402 payment, USDC on Base mainnet). Multi-hop wallet forensics: ERC-20 counterparty flow graph (1-3 hops), ranked counterparties, pattern detection (flow concentration, circular flows, linked wallets, high-degree hubs) + signed receipt. Input: wallet (+depth 1-3, chain).",
|
|
2294
|
+
llm_usage_prompt: "Multi-hop wallet forensics: ERC-20 counterparty flow graph (1-3 hops), ranked counterparties, pattern detection (flow concentration, circular flows, linked wallets, high-degree hubs) + signed receipt. Input: wallet (+depth 1-3, chain).",
|
|
2295
|
+
tags: [
|
|
2296
|
+
"wallet-forensics",
|
|
2297
|
+
"flow-graph",
|
|
2298
|
+
"counterparties",
|
|
2299
|
+
"multi-hop",
|
|
2300
|
+
"pattern-detection"
|
|
2301
|
+
],
|
|
2302
|
+
inputSchema: {
|
|
2303
|
+
type: "object",
|
|
2304
|
+
properties: {
|
|
2305
|
+
wallet: {
|
|
2306
|
+
type: "string",
|
|
2307
|
+
description: "EVM wallet address (0x + 40 hex) to investigate",
|
|
2308
|
+
pattern: "^0x[a-fA-F0-9]{40}$"
|
|
2309
|
+
},
|
|
2310
|
+
depth: {
|
|
2311
|
+
type: "integer",
|
|
2312
|
+
description: "Graph hops to traverse: 1, 2 or 3 (default 2)"
|
|
2313
|
+
},
|
|
2314
|
+
chain: {
|
|
2315
|
+
type: "string",
|
|
2316
|
+
description: "base | ethereum | optimism | polygon | arbitrum | gnosis (default base)"
|
|
2317
|
+
}
|
|
2318
|
+
},
|
|
2319
|
+
required: [
|
|
2320
|
+
"wallet"
|
|
2321
|
+
]
|
|
2322
|
+
}
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
tool: "chain_events",
|
|
2326
|
+
action: "X402_CHAIN_EVENTS",
|
|
2327
|
+
path: "/chain/events",
|
|
2328
|
+
method: "GET",
|
|
2329
|
+
price: "$0.05",
|
|
2330
|
+
description: "On-demand, decoded on-chain events for AI agents: query a contract's event logs on Base (eth_getLogs) and get normalized, human-readable events \u2014 Transfer, Approval, ERC-1155 TransferSingle/Batch, Uniswap V2/V3 Swap, Sync, Mint, Burn \u2014 with raw topics for unknown signatures. Filter by event name, full signature or topic0, and by block range or lookback. Decoded event feed with no RPC setup, block span capped. Price: $0.05 per call (x402 payment, USDC on Base mainnet). Decoded, normalized on-chain events via eth_getLogs on Base: Transfer, Approval, ERC-1155 TransferSingle/Batch, Uniswap V2/V3 Swap, Sync, Mint, Burn \u2014 raw topics for unknown signatures. Filter by event name/signature/topic0 and block range. Input: contract (+event, block range/lookback).",
|
|
2331
|
+
llm_usage_prompt: "Decoded, normalized on-chain events via eth_getLogs on Base: Transfer, Approval, ERC-1155 TransferSingle/Batch, Uniswap V2/V3 Swap, Sync, Mint, Burn \u2014 raw topics for unknown signatures. Filter by event name/signature/topic0 and block range. Input: contract (+event, block range/lookback).",
|
|
2332
|
+
tags: [
|
|
2333
|
+
"onchain-events",
|
|
2334
|
+
"eth-getlogs",
|
|
2335
|
+
"event-logs",
|
|
2336
|
+
"decoded-events",
|
|
2337
|
+
"base"
|
|
2338
|
+
],
|
|
2339
|
+
inputSchema: {
|
|
2340
|
+
type: "object",
|
|
2341
|
+
properties: {
|
|
2342
|
+
contract: {
|
|
2343
|
+
type: "string",
|
|
2344
|
+
description: "Contract address to read logs from (0x + 40 hex)",
|
|
2345
|
+
pattern: "^0x[a-fA-F0-9]{40}$"
|
|
2346
|
+
},
|
|
2347
|
+
event: {
|
|
2348
|
+
type: "string",
|
|
2349
|
+
description: "Event name (Transfer/Approval/Swap/Mint/Burn/TransferSingle/Sync), full signature 'Transfer(address,address,uint256)', or 0x topic0. Omit for all."
|
|
2350
|
+
},
|
|
2351
|
+
from_block: {
|
|
2352
|
+
type: "integer",
|
|
2353
|
+
description: "Start block (inclusive). Omit to use lookback."
|
|
2354
|
+
},
|
|
2355
|
+
to_block: {
|
|
2356
|
+
type: "integer",
|
|
2357
|
+
description: "End block (inclusive). Omit for latest."
|
|
2358
|
+
},
|
|
2359
|
+
lookback: {
|
|
2360
|
+
type: "integer",
|
|
2361
|
+
description: "If from/to omitted, scan the last N blocks (1-5000, default 2000)"
|
|
2362
|
+
},
|
|
2363
|
+
limit: {
|
|
2364
|
+
type: "integer",
|
|
2365
|
+
description: "Max events (1-100, most recent in range)"
|
|
2366
|
+
}
|
|
2367
|
+
},
|
|
2368
|
+
required: [
|
|
2369
|
+
"contract"
|
|
2370
|
+
]
|
|
2371
|
+
}
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
tool: "x402_seller_audit",
|
|
2375
|
+
action: "X402_X402_SELLER_AUDIT",
|
|
2376
|
+
path: "/x402/seller-audit",
|
|
2377
|
+
method: "GET",
|
|
2378
|
+
price: "$0.50",
|
|
2379
|
+
description: "Deep audit of an x402/ACP seller before trusting it: give a seller wallet or domain and get a full report \u2014 on-chain settlement reputation (settlements, unique counterparties, wash-trade/sybil, OFAC), the seller's advertised endpoints (from its /.well-known/x402.json), on-chain liveness, web reputation and red flags \u2014 fused into a TRUSTED/CAUTION/AVOID verdict with a signed, offline-verifiable receipt. Deeper than a pass/fail badge: the full seller due-diligence dossier for agentic payments. Price: $0.50 per call (x402 payment, USDC on Base mainnet). Deep x402 seller audit: on-chain settlement reputation (wash-trade/sybil/OFAC) + advertised endpoints from its /.well-known/x402.json + on-chain liveness + web reputation fused into TRUSTED/CAUTION/AVOID with a signed receipt. Deeper than a pass/fail badge. Input: seller wallet or domain.",
|
|
2380
|
+
llm_usage_prompt: "Deep x402 seller audit: on-chain settlement reputation (wash-trade/sybil/OFAC) + advertised endpoints from its /.well-known/x402.json + on-chain liveness + web reputation fused into TRUSTED/CAUTION/AVOID with a signed receipt. Deeper than a pass/fail badge. Input: seller wallet or domain.",
|
|
2381
|
+
tags: [
|
|
2382
|
+
"x402-seller-audit",
|
|
2383
|
+
"seller-reputation",
|
|
2384
|
+
"endpoint-audit",
|
|
2385
|
+
"due-diligence",
|
|
2386
|
+
"counterparty-risk"
|
|
2387
|
+
],
|
|
2388
|
+
inputSchema: {
|
|
2389
|
+
type: "object",
|
|
2390
|
+
properties: {
|
|
2391
|
+
seller: {
|
|
2392
|
+
type: "string",
|
|
2393
|
+
description: "Seller wallet (0x + 40 hex) or domain, e.g. 'api.example.com'"
|
|
2394
|
+
},
|
|
2395
|
+
depth: {
|
|
2396
|
+
type: "string",
|
|
2397
|
+
description: "On-chain depth: 'shallow' (~200 settlements) or 'deep' (~500)"
|
|
2398
|
+
}
|
|
2399
|
+
},
|
|
2400
|
+
required: [
|
|
2401
|
+
"seller"
|
|
2402
|
+
]
|
|
2403
|
+
}
|
|
2122
2404
|
}
|
|
2123
2405
|
]
|
|
2124
2406
|
};
|