@goplausible/openclaw-algorand-plugin 2.0.1 → 2.0.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 +62 -29
- package/openclaw.plugin.json +1 -1
- package/package.json +8 -2
- package/skills/alpha-arcade-interaction/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -4,50 +4,81 @@
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- **
|
|
7
|
+
- **Bundled Algorand MCP Server**: `@goplausible/algorand-mcp` (pinned to `^4.2.2`, 107 tools) — wallet, transactions, smart contracts, TEAL, indexer, DEX, NFD, Haystack Router, Alpha Arcade, knowledge base
|
|
8
8
|
- **x402 Payment Protocol**: Built-in `x402_fetch` tool for HTTP-native payments on Algorand
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **Skills Included** (9 skills):
|
|
9
|
+
- **Zero-privilege installation**: First-load init only writes a declarative entry into `~/.mcporter/mcporter.json` and a memory file into the agent workspace — no shell scripts, no system packages, no keyring installation, no `sudo`, no post-install hooks
|
|
10
|
+
- **9 Skills** covering development, interaction, x402, DEX aggregation, and prediction markets:
|
|
12
11
|
- `algorand-development` — AlgoKit CLI, project creation, general workflows
|
|
13
12
|
- `algorand-typescript` — TypeScript smart contracts (PuyaTs)
|
|
14
13
|
- `algorand-python` — Python smart contracts (PuyaPy)
|
|
15
14
|
- `algorand-interaction` — Blockchain interaction via MCP (wallet, transactions, swaps, NFD)
|
|
16
15
|
- `algorand-x402-typescript` — x402 payments in TypeScript
|
|
17
16
|
- `algorand-x402-python` — x402 payments in Python
|
|
18
|
-
- `algorand-x402-payment` — Runtime x402 payment (agent as client)
|
|
19
17
|
- `haystack-router-development` — DEX aggregator SDK integration
|
|
20
18
|
- `haystack-router-interaction` — Best-price swaps via MCP tools
|
|
21
19
|
- `alpha-arcade-interaction` — Prediction markets interaction
|
|
22
20
|
|
|
23
21
|
## Installation
|
|
24
22
|
|
|
23
|
+
From [ClawHub](https://clawhub.ai):
|
|
24
|
+
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
clawhub install @goplausible/openclaw-algorand-plugin
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
Or
|
|
29
|
+
Or from a local path (source code):
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
openclaw plugins install ./path/to/openclaw-algorand-plugin
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## Configuration
|
|
36
|
+
|
|
37
|
+
On first load, the plugin initializes idempotently:
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
- Writes the plugin memory file into your agent workspace (`memory/algorand-plugin.md`)
|
|
40
|
+
- Ensures the workspace `MEMORY.md` contains the Algorand NEVER FORGET block
|
|
41
|
+
- Registers `algorand-mcp` in `~/.mcporter/mcporter.json`
|
|
42
|
+
|
|
43
|
+
To (re)run the interactive configuration wizard or rewrite the mcporter entry:
|
|
38
44
|
|
|
39
45
|
```bash
|
|
40
|
-
# 1. Setup plugin (memory file + mcporter + interactive config)
|
|
41
46
|
openclaw algorand-plugin setup
|
|
42
|
-
|
|
43
|
-
# 2. Restart the gateway
|
|
44
47
|
openclaw gateway restart
|
|
45
48
|
```
|
|
46
49
|
|
|
50
|
+
## What this plugin writes to your system
|
|
51
|
+
|
|
52
|
+
The plugin performs only **declarative file writes** — no shell scripts, no system packages, no privilege elevation, no keyring installation, no D-Bus/loginctl changes.
|
|
53
|
+
|
|
54
|
+
| Path | When | Purpose |
|
|
55
|
+
|------|------|---------|
|
|
56
|
+
| `~/.mcporter/mcporter.json` | First load + `setup` | Idempotently adds an `algorand-mcp` entry pointing at the bundled binary. Existing entries for other servers are preserved. |
|
|
57
|
+
| `<agent-workspace>/memory/algorand-plugin.md` | First load + `setup` | Writes the plugin's Algorand routing guide for the agent. |
|
|
58
|
+
| `<agent-workspace>/MEMORY.md` | First load + `setup` | Adds a `## NEVER FORGET` block (or updates its subsections) if not already present. Existing content is preserved. |
|
|
59
|
+
| `<agent-workspace>/.openclaw/openclaw-algorand-plugin.initialized` | First load | Marker file so first-load init is skipped on subsequent gateway starts. |
|
|
60
|
+
| `~/.openclaw/openclaw.json` | When you run `openclaw algorand-plugin setup` and confirm | Persists the plugin config (`enableX402`). |
|
|
61
|
+
|
|
62
|
+
The plugin does **not**:
|
|
63
|
+
|
|
64
|
+
- Install OS packages (no `apt`, `brew`, `pacman`, `gnome-keyring`, `libsecret-tools`, `dbus-user-session`).
|
|
65
|
+
- Elevate privileges or require `sudo`.
|
|
66
|
+
- Run shell scripts, `loginctl linger`, or any D-Bus session setup.
|
|
67
|
+
- Read or back up wallet mnemonics — wallet storage is owned entirely by `@goplausible/algorand-mcp`.
|
|
68
|
+
- Register post-install or post-update hooks.
|
|
69
|
+
|
|
70
|
+
The source is small and self-contained:
|
|
71
|
+
|
|
72
|
+
- [`index.ts`](./index.ts) — plugin entry, tool + CLI registration
|
|
73
|
+
- [`lib/mcporter.ts`](./lib/mcporter.ts) — mcporter JSON merge
|
|
74
|
+
- [`lib/workspace.ts`](./lib/workspace.ts) — memory file + MEMORY.md merge + plugin config writer
|
|
75
|
+
- [`lib/x402-fetch.ts`](./lib/x402-fetch.ts) — x402 fetch implementation
|
|
76
|
+
- [`setup.ts`](./setup.ts) — interactive config prompt (x402 toggle only)
|
|
77
|
+
|
|
47
78
|
## Commands
|
|
48
79
|
|
|
49
80
|
```bash
|
|
50
|
-
openclaw algorand-plugin setup #
|
|
81
|
+
openclaw algorand-plugin setup # Re-run interactive configuration
|
|
51
82
|
openclaw algorand-plugin status # Show plugin status (binary, mcporter, config)
|
|
52
83
|
openclaw algorand-plugin mcp-config # Show MCP config snippet for external coding agents
|
|
53
84
|
```
|
|
@@ -60,6 +91,8 @@ The plugin bundles [`@goplausible/algorand-mcp`](https://www.npmjs.com/package/@
|
|
|
60
91
|
- **Multi-network**: `mainnet`, `testnet`, `localnet`
|
|
61
92
|
- **Secure wallet**: Per-transaction and daily spending limits, private keys never exposed to agents
|
|
62
93
|
|
|
94
|
+
Wallet persistence is handled by `algorand-mcp` itself. The plugin does not install, configure, or manage any keyring software — it simply registers the MCP server with mcporter and lets the MCP server own wallet storage.
|
|
95
|
+
|
|
63
96
|
## x402 Payment Protocol
|
|
64
97
|
|
|
65
98
|
When `enableX402` is enabled (default), the plugin registers the `x402_fetch` tool — an HTTP fetch with [x402](https://github.com/coinbase/x402) payment protocol support.
|
|
@@ -68,20 +101,9 @@ When `enableX402` is enabled (default), the plugin registers the `x402_fetch` to
|
|
|
68
101
|
- Agent builds payment using algorand-mcp wallet tools (atomic group with facilitator-sponsored fees)
|
|
69
102
|
- Agent retries with signed `PAYMENT-SIGNATURE` header to complete the payment and access the resource
|
|
70
103
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
On headless Linux, the OS keyring defaults to in-memory storage — wallet keys created by `algorand-mcp` are **lost on reboot**. The setup wizard (`openclaw algorand-plugin setup`) automatically detects this and:
|
|
74
|
-
|
|
75
|
-
1. Installs `gnome-keyring`, `libsecret-tools`, `dbus-user-session`
|
|
76
|
-
2. Enables `loginctl linger` for D-Bus session persistence
|
|
77
|
-
3. Creates a persistent login keyring (auto-unlocked, no password)
|
|
78
|
-
4. Backs up and restores existing wallet mnemonics if upgrading
|
|
79
|
-
|
|
80
|
-
After setup, wallet keys persist across reboots with no user interaction needed. Agent wallets are hot wallets — keep funds minimal and use QR code top-ups.
|
|
104
|
+
## Plugin Config
|
|
81
105
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
Config is stored in `~/.openclaw/openclaw.json` under `plugins.entries.openclaw-algorand-plugin.config`:
|
|
106
|
+
Config lives in `~/.openclaw/openclaw.json` under `plugins.entries.openclaw-algorand-plugin.config`:
|
|
85
107
|
|
|
86
108
|
```json
|
|
87
109
|
{
|
|
@@ -98,6 +120,10 @@ Config is stored in `~/.openclaw/openclaw.json` under `plugins.entries.openclaw-
|
|
|
98
120
|
}
|
|
99
121
|
```
|
|
100
122
|
|
|
123
|
+
| Key | Default | Description |
|
|
124
|
+
|-----|---------|-------------|
|
|
125
|
+
| `enableX402` | `true` | Enable `x402_fetch` tool and x402 skills |
|
|
126
|
+
|
|
101
127
|
## Skills Overview
|
|
102
128
|
|
|
103
129
|
| Skill | Purpose |
|
|
@@ -108,9 +134,15 @@ Config is stored in `~/.openclaw/openclaw.json` under `plugins.entries.openclaw-
|
|
|
108
134
|
| `algorand-interaction` | MCP-based blockchain interaction (wallet, txns, DEX, NFD, x402) |
|
|
109
135
|
| `algorand-x402-typescript` | x402 payments in TypeScript |
|
|
110
136
|
| `algorand-x402-python` | x402 payments in Python |
|
|
111
|
-
| `haystack-router-development` | Haystack router
|
|
112
|
-
| `haystack-router-interaction` | Haystack router interaction |
|
|
113
|
-
| `alpha-arcade-interaction` | Alpha Arcade interaction |
|
|
137
|
+
| `haystack-router-development` | Haystack router SDK integration |
|
|
138
|
+
| `haystack-router-interaction` | Haystack router interaction via MCP |
|
|
139
|
+
| `alpha-arcade-interaction` | Alpha Arcade prediction markets interaction |
|
|
140
|
+
|
|
141
|
+
## Compatibility
|
|
142
|
+
|
|
143
|
+
- **OpenClaw gateway**: `>= 2026.3.14`
|
|
144
|
+
- **Plugin API**: `>= 2026.3.14`
|
|
145
|
+
- **Node**: `>= 20`
|
|
114
146
|
|
|
115
147
|
## Links
|
|
116
148
|
|
|
@@ -121,6 +153,7 @@ Config is stored in `~/.openclaw/openclaw.json` under `plugins.entries.openclaw-
|
|
|
121
153
|
- **Algorand x402 test endpoints**: https://example.x402.goplausible.xyz/
|
|
122
154
|
- **Algorand x402 Facilitator**: https://facilitator.goplausible.xyz
|
|
123
155
|
- **OpenClaw**: https://openclaw.ai
|
|
156
|
+
- **ClawHub**: https://clawhub.ai
|
|
124
157
|
|
|
125
158
|
## License
|
|
126
159
|
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "openclaw-algorand-plugin",
|
|
3
3
|
"name": "Algorand Integration",
|
|
4
4
|
"description": "Algorand blockchain integration with MCP and skills — by GoPlausible",
|
|
5
|
-
"version": "2.0.
|
|
5
|
+
"version": "2.0.3",
|
|
6
6
|
"skills": [
|
|
7
7
|
"skills/algorand-development",
|
|
8
8
|
"skills/algorand-typescript",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goplausible/openclaw-algorand-plugin",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"type": "module",
|
|
25
25
|
"main": "index.ts",
|
|
26
|
+
"scripts": {
|
|
27
|
+
"tag": "git tag -a \"v$npm_package_version\" -m \"v$npm_package_version\" && git push origin \"v$npm_package_version\"",
|
|
28
|
+
"retag": "git tag -d \"v$npm_package_version\" 2>/dev/null; git push origin \":refs/tags/v$npm_package_version\" 2>/dev/null; git tag -a \"v$npm_package_version\" -m \"v$npm_package_version\" && git push origin \"v$npm_package_version\"",
|
|
29
|
+
"publish:npm": "npm publish --access public",
|
|
30
|
+
"publish:clawhub": "clawhub package publish . --family code-plugin --name @goplausible/openclaw-algorand-plugin --display-name 'Algorand Plugin' --version \"$npm_package_version\" --tags latest --source-repo GoPlausible/openclaw-algorand-plugin --source-commit \"$(git rev-parse \"v$npm_package_version\")\" --source-ref \"v$npm_package_version\""
|
|
31
|
+
},
|
|
26
32
|
"files": [
|
|
27
33
|
"index.ts",
|
|
28
34
|
"setup.ts",
|
|
@@ -43,7 +49,7 @@
|
|
|
43
49
|
},
|
|
44
50
|
"dependencies": {
|
|
45
51
|
"@clack/prompts": "^0.7.0",
|
|
46
|
-
"@goplausible/algorand-mcp": "
|
|
52
|
+
"@goplausible/algorand-mcp": "^4.2.3"
|
|
47
53
|
},
|
|
48
54
|
"peerDependencies": {
|
|
49
55
|
"openclaw": ">=2026.3.14"
|
|
@@ -17,7 +17,7 @@ Interact with Alpha Arcade prediction markets via the Alpha Arcade MCP server (1
|
|
|
17
17
|
|
|
18
18
|
## Setup
|
|
19
19
|
|
|
20
|
-
Alpha Arcade tools are built into the Algorand MCP server. Trading uses the local wallet
|
|
20
|
+
Alpha Arcade tools are built into the Algorand MCP server. Trading uses the MCP-managed local wallet — no separate mnemonic needed.
|
|
21
21
|
|
|
22
22
|
| Variable | Required | Description |
|
|
23
23
|
|----------|----------|-------------|
|