nanosolana 1.0.0 → 1.0.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to NanoSolana will be documented in this file.
4
4
 
5
+ ## [1.0.2] — 2026-03-16
6
+
7
+ ### Fixed
8
+
9
+ - Aligned the CLI-reported version with the published npm package so `npx nanosolana --version` matches the release installed by `npx nanosolana go`.
10
+
11
+ ## [1.0.1] — 2026-03-16
12
+
13
+ ### Fixed
14
+
15
+ - Added the missing `cron-parser` runtime dependency required by the claw IPC and task scheduler paths.
16
+ - Fixed strict TypeScript declaration build errors in the CLI demo flow, docs integration, container runner, Pump swarm spawner, and Pump Telegram gateway.
17
+ - Aligned the bundled docs corpus with the current repo surface, including `pump/docs/` integration in `nanosolana docs`.
18
+
19
+ ### Improved
20
+
21
+ - Updated package metadata and release artifacts so `npx nanosolana go` resolves to a buildable, test-passing package.
22
+
5
23
  ## [1.0.0] — 2025-03-15
6
24
 
7
25
  ### 🎉 First Stable Release
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 NanoSolana Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # 🦞 NanoSolana
4
4
 
5
- **Deploy autonomous Solana trading agents in 30 seconds.**
5
+ **TypeScript runtime and CLI for autonomous financial agents on Solana.**
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/nanosolana?color=14F195&style=flat-square)](https://npmjs.com/package/nanosolana)
8
8
  [![npm downloads](https://img.shields.io/npm/dm/nanosolana?color=9945FF&style=flat-square)](https://npmjs.com/package/nanosolana)
@@ -15,8 +15,8 @@
15
15
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-14F195?style=flat-square)](https://github.com/x402agent/NanoSolana/blob/main/CONTRIBUTING.md)
16
16
  [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white)](https://discord.gg/nanosolana)
17
17
 
18
- The open-source **agentic framework** for autonomous financial intelligence on Solana.
19
- OODA trading loops · epistemological memory · mesh coordination · virtual pet soul.
18
+ `nano-core` is published to npm as `nanosolana`.
19
+ It bundles the local agent runtime, encrypted config vault, wallet lifecycle, OODA trading engine, ClawVault memory, TamaGOchi state machine, gateway server, docs integration, and devnet on-chain identity registration.
20
20
 
21
21
  [Website](https://nanosolana.com) · [Hub](https://hub.nanosolana.com) · [Docs](https://docs.nanosolana.com) · [GitHub](https://github.com/x402agent/NanoSolana) · [Discord](https://discord.gg/nanosolana)
22
22
 
@@ -24,285 +24,246 @@ OODA trading loops · epistemological memory · mesh coordination · virtual pet
24
24
 
25
25
  ---
26
26
 
27
- ## One Command. Full Agent.
27
+ ## What This Package Ships
28
+
29
+ | Area | Included in `nanosolana` |
30
+ | --- | --- |
31
+ | CLI | `init`, `birth`, `run`, `go`, `demo`, `scan`, `register`, `registry`, `nanobot`, `status`, `pet`, `docs`, `vault`, `config`, `nodes`, `send`, `bots` |
32
+ | Trading runtime | Helius RPC ingestion, Birdeye market data, Jupiter execution, signal events |
33
+ | Memory | ClawVault 3-tier memory: known, learned, inferred |
34
+ | Security | AES-256-GCM local vault, HMAC-SHA256 gateway auth, timing-safe signature checks |
35
+ | Agent state | Solana wallet manager, TamaGOchi lifecycle, local persistence under `~/.nanosolana/` |
36
+ | Networking | Gateway server plus optional Tailscale-backed mesh messaging |
37
+ | UI | Local NanoBot web UI on `127.0.0.1:7777` by default |
38
+ | Registry | Devnet NFT-based on-chain identity via Metaplex-compatible minting flow |
39
+
40
+ ## Requirements
41
+
42
+ - Node.js `22+`
43
+ - npm `10+`
44
+ - A burner wallet and test-sized balances for first live runs
45
+ - For live mode: `HELIUS_RPC_URL`, `HELIUS_API_KEY`, and `OPENROUTER_API_KEY` or `AI_API_KEY`
46
+ - For better live behavior: `HELIUS_WSS_URL`, `BIRDEYE_API_KEY`, `JUPITER_API_KEY`, `NANO_GATEWAY_SECRET`
47
+
48
+ ## Quick Start
49
+
50
+ ### Demo mode
28
51
 
29
52
  ```bash
30
- npx nanosolana go
53
+ npx nanosolana demo
31
54
  ```
32
55
 
33
- That's it. One command handles: **API key setup wallet creation blockchain scan on-chain NFT identity OODA trading loop WebSocket gateway.** All secrets encrypted with AES-256-GCM.
56
+ This runs the full OODA loop in simulation mode with synthetic prices, a local ClawVault instance, and a demo TamaGOchi. No API keys are required.
34
57
 
35
- ```
36
- ✓ Secrets encrypted → ~/.nanosolana/vault.enc
37
- ✓ Wallet created: 7xKp...3nYd
38
- TamaGOchi hatched: 🥚 NanoAlpha 😊
39
- ✓ ClawVault online: 0K/0L/0I
40
- ✓ OODA trading loop active
41
- ✓ On-chain identity: 5mNt...
42
- ✓ Gateway: ws://0.0.0.0:18790
43
-
44
- ══════════════════════════════════════════════════════
45
- 🦞 NanoAlpha is LIVE. All systems operational.
46
- ══════════════════════════════════════════════════════
58
+ ### Live mode
59
+
60
+ ```bash
61
+ npx nanosolana go
47
62
  ```
48
63
 
49
- ---
64
+ On first run, `go` will:
50
65
 
51
- ## 🎯 Why NanoSolana?
66
+ 1. Prompt for required credentials.
67
+ 2. Encrypt secrets into `~/.nanosolana/vault.enc`.
68
+ 3. Create or load the local wallet.
69
+ 4. Start TamaGOchi, ClawVault, trading, and the gateway.
70
+ 5. Attempt a blockchain scan when Helius is configured.
71
+ 6. Attempt devnet registration for the agent identity NFT.
52
72
 
53
- Other agent frameworks are **built for chat and retrofitted for finance.** NanoSolana is built from the ground up for autonomous financial agents.
73
+ If secrets are already present, skip the prompts:
54
74
 
55
- | Feature | NanoSolana | Eliza | AutoGPT | LangChain |
56
- |---------|:---------:|:-----:|:-------:|:---------:|
57
- | Built for finance | ✅ Native | ❌ Chat | ❌ General | ❌ General |
58
- | Epistemological memory | ✅ 3-tier | ❌ | ❌ | Partial |
59
- | OODA trading loop | ✅ Military-grade | ❌ | ❌ | ❌ |
60
- | Encrypted secrets vault | ✅ AES-256-GCM | ❌ .env | ❌ .env | ❌ .env |
61
- | On-chain identity (NFT) | ✅ Metaplex | ❌ | ❌ | ❌ |
62
- | Mesh networking | ✅ P2P | ❌ | ❌ | ❌ |
63
- | Virtual pet risk modifier | ✅ TamaGOchi | ❌ | ❌ | ❌ |
64
- | One-command deploy | ✅ `npx nanosolana go` | ❌ | ❌ | ❌ |
65
- | TypeScript-first SDK | ✅ Full types | Partial | Python | Python |
66
- | Solana-native execution | ✅ Jupiter/Helius | ❌ | ❌ | Plugin |
75
+ ```bash
76
+ npx nanosolana go --skip-init
77
+ ```
67
78
 
68
- ---
79
+ ## Install
80
+
81
+ ### Run without installing
82
+
83
+ ```bash
84
+ npx nanosolana demo
85
+ npx nanosolana go
86
+ ```
69
87
 
70
- ## 📦 Install
88
+ ### Global npm install
71
89
 
72
90
  ```bash
73
- # Global install
74
91
  npm install -g nanosolana
92
+ nanosolana demo
93
+ ```
75
94
 
76
- # Or run directly
77
- npx nanosolana go
95
+ ### One-shot shell installer
78
96
 
79
- # Or from source
80
- git clone https://github.com/x402agent/NanoSolana.git
81
- cd NanoSolana/nano-core && npm install
82
- npm run nanosolana -- go
97
+ ```bash
98
+ curl -fsSL https://nanosolana.com/install.sh | bash
99
+ export PATH="$HOME/.nanosolana/bin:$PATH"
100
+ nanosolana go
83
101
  ```
84
102
 
85
- ### Try Without API Keys
103
+ ### From source
86
104
 
87
105
  ```bash
88
- npx nanosolana demo
106
+ git clone https://github.com/x402agent/NanoSolana.git
107
+ cd NanoSolana/nano-core
108
+ npm install
109
+ npm run build
110
+ node dist/cli/entry.js demo
89
111
  ```
90
112
 
91
- Runs a full simulation with synthetic market data — see the OODA loop in action without any API keys.
113
+ ## Configuration
92
114
 
93
- ---
115
+ Secrets can come from the encrypted local vault, environment variables, or both. The runtime supports the following primary variables:
94
116
 
95
- ## 🧠 Architecture
117
+ | Variable | Purpose | Notes |
118
+ | --- | --- | --- |
119
+ | `OPENROUTER_API_KEY` or `AI_API_KEY` | AI provider key | Required for live trading |
120
+ | `OPENROUTER_MODEL` or `AI_MODEL` | Model selection | Defaults to `openrouter/healer-alpha` |
121
+ | `HELIUS_RPC_URL` | Solana RPC | Required for live mode and scans |
122
+ | `HELIUS_API_KEY` | Helius API key | Required for live mode and scans |
123
+ | `HELIUS_WSS_URL` | Helius WebSocket endpoint | Optional but recommended |
124
+ | `BIRDEYE_API_KEY` | Market data | Optional in config, important for richer signals |
125
+ | `JUPITER_API_KEY` | Swap execution | Required for live execution paths |
126
+ | `NANO_GATEWAY_PORT` | Gateway port | Defaults to `18790` |
127
+ | `NANO_GATEWAY_HOST` | Gateway bind host | Defaults to `0.0.0.0` |
128
+ | `NANO_GATEWAY_SECRET` | Shared HMAC secret | Strongly recommended |
129
+ | `NANO_VAULT_PASSWORD` | Override vault password source | Recommended for deterministic multi-session setups |
130
+ | `TAILSCALE_AUTH_KEY` | Mesh networking | Needed for automated Tailscale enrollment |
96
131
 
97
- ```
98
- ┌─────────────────────────────────────────────────────────┐
99
- │ AGENT RUNTIME │
100
- │ OODA Loop · ClawVault · Strategy Engine │
101
- ├─────────────────────────────────────────────────────────┤
102
- │ INFRASTRUCTURE │
103
- │ Vault · Gateway · Mesh Network · On-Chain ID │
104
- ├─────────────────────────────────────────────────────────┤
105
- │ INTERFACES │
106
- │ CLI · Telegram · Discord · NanoBot UI · Chrome Ext │
107
- └─────────────────────────────────────────────────────────┘
108
- ```
132
+ `nanosolana init` writes non-sensitive defaults to a local `.env` and stores prompted secrets in the encrypted vault.
109
133
 
110
- ```
111
- nano-core/src/
112
- ├── ai/ → OpenRouter AI provider (multimodal)
113
- ├── cli/ → nanosolana CLI (25+ commands)
114
- ├── config/ → AES-256-GCM encrypted vault & Zod-validated config
115
- ├── gateway/ → HMAC-SHA256 authenticated WebSocket + HTTP server
116
- ├── memory/ → ClawVault 3-tier epistemological memory engine
117
- ├── network/ → Tailscale + tmux mesh networking
118
- ├── nft/ → Metaplex gasless devnet birth certificate NFT
119
- ├── onchain/ → Helius blockchain reader (DAS, Enhanced Tx)
120
- ├── pet/ → TamaGOchi virtual pet engine (mood × risk)
121
- ├── strategy/ → RSI + EMA + ATR auto-optimizer
122
- ├── trading/ → OODA trading engine + Jupiter swap execution
123
- └── wallet/ → Solana Ed25519 wallet manager
124
- ```
134
+ ## CLI Reference
125
135
 
126
- ---
136
+ ### Core runtime
127
137
 
128
- ## 🔁 The OODA Trading Loop
138
+ | Command | Description |
139
+ | --- | --- |
140
+ | `nanosolana init` | Prompt for credentials and save them to the encrypted vault |
141
+ | `nanosolana birth` | Create or load the agent wallet and initialize the local TamaGOchi |
142
+ | `nanosolana run` | Start wallet heartbeat, ClawVault, trading engine, and gateway |
143
+ | `nanosolana go` | Full one-shot flow: configure, birth, run, scan, and attempt registration |
144
+ | `nanosolana demo` | Simulation mode with no API keys |
145
+ | `nanosolana status` | Show wallet, pet, memory, gateway, Tailscale, and tmux summary |
146
+ | `nanosolana pet` | Print the current TamaGOchi status display |
129
147
 
130
- Military-grade decision cycle adapted for autonomous trading:
148
+ ### Ops and inspection
131
149
 
132
- ```
133
- ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
134
- OBSERVE │──▶│ ORIENT │──▶│ DECIDE │──▶│ ACT │
135
- │ │ │ │ │ │ │ │
136
- Helius │ │ OpenRouter│ │ Signal │ │ Jupiter │
137
- Birdeye │ │ AI Model │ │ Scoring │ │ Swaps │
138
- └──────────┘ └──────────┘ └──────────┘ └────┬─────┘
139
- ▲ │
140
- │ ┌──────────┐ │
141
- └──────────────│ LEARN │◀──────────────────┘
142
- │ClawVault │
143
- └──────────┘
144
- ```
150
+ | Command | Description |
151
+ | --- | --- |
152
+ | `nanosolana scan [address]` | Scan the default wallet or a supplied address via Helius |
153
+ | `nanosolana register` | Mint the devnet on-chain identity NFT |
154
+ | `nanosolana registry` | Show local registration status and explorer links |
155
+ | `nanosolana config` | Print the redacted runtime configuration |
156
+ | `nanosolana vault [query]` | Search the ClawVault tiers |
157
+ | `nanosolana docs [query]` | Search integrated docs and extension metadata |
158
+ | `nanosolana nanobot --port 7777` | Start the local NanoBot companion UI |
145
159
 
146
- 1. **Observe** Real-time data from Helius RPC + Birdeye API
147
- 2. **Orient** — AI analysis via OpenRouter (multimodal)
148
- 3. **Decide** — Structured signals with confidence scoring (≥70% to act)
149
- 4. **Act** — Jupiter swap execution with slippage protection
150
- 5. **Learn** — ClawVault experience replay + contradiction detection
160
+ ### Mesh and multi-bot tooling
151
161
 
152
- ---
162
+ | Command | Description |
163
+ | --- | --- |
164
+ | `nanosolana nodes` | List discovered Tailscale peers |
165
+ | `nanosolana send "message"` | Send a one-shot message to local or mesh-connected agents |
166
+ | `nanosolana bots list` | List tmux-backed bot sessions |
167
+ | `nanosolana bots spawn <name>` | Spawn a bot in a tmux session |
168
+ | `nanosolana bots attach <name>` | Attach to a tmux session |
169
+ | `nanosolana bots kill <name>` | Terminate a tmux session |
170
+ | `nanosolana dvd` | Terminal DVD-style screensaver |
171
+ | `nanosolana lobster` | Animated or static lobster banner |
153
172
 
154
- ## 💻 SDK Usage (Programmatic)
173
+ ## SDK Usage
155
174
 
156
- Use NanoSolana as a library in your own projects:
175
+ `nanosolana` can also be used as a library:
157
176
 
158
- ```typescript
177
+ ```ts
159
178
  import {
160
- NanoWallet,
161
- TradingEngine,
162
179
  ClawVault,
163
- StrategyEngine,
180
+ NanoWallet,
164
181
  TamaGOchi,
182
+ TradingEngine,
165
183
  loadConfig,
166
184
  } from "nanosolana";
167
185
 
168
- // Load encrypted config
169
186
  const config = loadConfig();
170
187
 
171
- // Create wallet + trading engine
172
188
  const wallet = new NanoWallet("my-agent");
173
189
  await wallet.birth();
174
190
 
175
- const engine = new TradingEngine(config, wallet);
176
- await engine.start();
177
-
178
- // Listen for signals
179
- engine.on("signal", (signal) => {
180
- console.log(`${signal.type} ${signal.symbol} @ ${signal.confidence * 100}%`);
181
- });
182
-
183
- // 3-tier memory
184
191
  const vault = new ClawVault();
185
- vault.storeKnown({
186
- content: "SOL is at $142.50",
187
- source: "birdeye",
188
- tags: ["SOL", "price"],
189
- });
192
+ vault.startAutonomous();
190
193
 
191
- // Virtual pet
192
194
  const pet = new TamaGOchi("MyPet");
193
- console.log(pet.getStatusDisplay());
194
- ```
195
-
196
- ---
197
-
198
- ## 🎮 CLI Commands
199
-
200
- | Command | Description |
201
- |---------|-------------|
202
- | `nanosolana go` | **One-shot: init + birth + scan + register + trade** |
203
- | `nanosolana demo` | **Simulation mode — no API keys needed** |
204
- | `nanosolana init` | Configure + encrypt API keys |
205
- | `nanosolana birth` | Create wallet + mint Birth Certificate NFT |
206
- | `nanosolana run` | Start OODA trading loop |
207
- | `nanosolana scan [addr]` | Blockchain scan (SOL, tokens, NFTs, tx history) |
208
- | `nanosolana register` | Mint on-chain identity NFT (devnet) |
209
- | `nanosolana nanobot` | Launch interactive web UI |
210
- | `nanosolana status` | Agent + wallet + pet status |
211
- | `nanosolana pet status` | TamaGOchi pet mood & evolution |
212
- | `nanosolana dvd` | 🦞 DVD screensaver in your terminal |
213
- | `nanosolana lobster` | Animated Unicode lobster mascot |
214
-
215
- ---
195
+ pet.recordWalletCreated(wallet.getInfo().balance);
216
196
 
217
- ## 🐾 TamaGOchi: The Pet That Trades
218
-
219
- Your agent has a virtual pet whose mood affects risk tolerance:
197
+ const engine = new TradingEngine(config, wallet);
198
+ engine.on("signal", (signal) => {
199
+ console.log(`${signal.type} ${signal.symbol} ${(signal.confidence * 100).toFixed(0)}%`);
200
+ });
220
201
 
202
+ await engine.start();
221
203
  ```
222
- 🥚 Egg → 🐛 Larva → 🐣 Juvenile → 🦞 Adult → 👑 Alpha → 👻 Ghost
223
- ```
224
-
225
- | Mood | Trigger | Risk Effect |
226
- |------|---------|-------------|
227
- | 😊 Happy | Recent wins | +10% position |
228
- | 😐 Content | Normal | No change |
229
- | 🤤 Hungry | Not fed in 24h | -10% position |
230
- | 😢 Sad | Recent losses | -15% position |
231
- | 👻 Ghost | Health = 0 | **Trading disabled** |
232
-
233
- Neglect your agent → trading de-risks → eventually halts. A dead man's switch by design.
234
-
235
- ---
236
-
237
- ## 🔐 Security
238
204
 
239
- | Layer | Protection |
240
- |-------|------------|
241
- | **Secrets** | AES-256-GCM vault with PBKDF2 |
242
- | **Gateway** | HMAC-SHA256 on every connection |
243
- | **Comparison** | `crypto.timingSafeEqual` always |
244
- | **Rate Limit** | 10 conn/min, 100 msg/min |
245
- | **Wallet** | Ed25519 key never leaves vault |
246
- | **Audit** | `nanosolana security audit --deep` |
247
-
248
- ---
249
-
250
- ## 🔑 Required API Keys
251
-
252
- | Key | Source | Required |
253
- |-----|--------|----------|
254
- | `OPENROUTER_API_KEY` | [openrouter.ai](https://openrouter.ai) | ✅ |
255
- | `HELIUS_RPC_URL` | [helius.dev](https://helius.dev) | |
256
- | `HELIUS_API_KEY` | [helius.dev](https://helius.dev) | ✅ |
257
- | `HELIUS_WSS_URL` | [helius.dev](https://helius.dev) | Recommended |
258
- | `BIRDEYE_API_KEY` | [birdeye.so](https://birdeye.so) | Recommended |
259
- | `JUPITER_API_KEY` | [jup.ag](https://jup.ag) | For trading |
260
-
261
- All keys are **AES-256-GCM encrypted** in the local vault. Never stored in plaintext.
262
-
263
- ---
264
-
265
- ## 🌐 Ecosystem
266
-
267
- | Component | Description |
268
- |-----------|-------------|
269
- | **nano-core** | TypeScript runtime + CLI (this package) |
270
- | **NanoHub** | Agent registry & skills marketplace |
271
- | **Extensions** | 40+ channel plugins (Telegram, Discord, Slack, WhatsApp, Nostr...) |
272
- | **Chrome Extension** | Manifest V3 browser relay |
273
- | **TamaGObot** | Ultra-lightweight Go binary (<10MB) |
274
- | **Skills** | 50+ composable agent skills |
275
-
276
- ---
277
-
278
- ## 🤝 Contributing
279
-
280
- We welcome contributions! See [CONTRIBUTING.md](https://github.com/x402agent/NanoSolana/blob/main/CONTRIBUTING.md).
281
-
282
- **Areas where we need help:**
283
-
284
- - 🧪 New trading strategies and indicators
285
- - 🧠 Memory engine improvements (vector search, LanceDB)
286
- - 📡 New channel plugins (Matrix, Zulip)
287
- - 🔒 Security audits and hardening
288
- - 📊 Backtesting framework
289
- - 📝 Documentation and tutorials
290
- - 🌐 Internationalization
205
+ Additional runnable examples live in [`examples/`](https://github.com/x402agent/NanoSolana/tree/main/nano-core/examples):
206
+
207
+ - `basic-agent.ts`
208
+ - `custom-strategy.ts`
209
+ - `multi-agent-mesh.ts`
210
+ - `sdk-programmatic.ts`
211
+ - `webhook-alerts.ts`
212
+
213
+ ## Architecture
214
+
215
+ ```text
216
+ ┌───────────────────────────────────────────────────────┐
217
+ │ Agent Runtime │
218
+ │ OODA loop · ClawVault · TamaGOchi · Strategy │
219
+ ├───────────────────────────────────────────────────────┤
220
+ │ Local Infrastructure │
221
+ │ Vault · Wallet · Gateway · Registry · Persistence │
222
+ ├───────────────────────────────────────────────────────┤
223
+ │ External Integrations │
224
+ │ Helius · Birdeye · Jupiter · Tailscale · Docs │
225
+ └───────────────────────────────────────────────────────┘
226
+ ```
291
227
 
292
- ---
228
+ Source layout:
293
229
 
294
- ## 📄 License
230
+ ```text
231
+ nano-core/src/
232
+ ├── ai/ OpenRouter-backed AI provider
233
+ ├── cli/ CLI entrypoint and terminal UX
234
+ ├── config/ Local encrypted vault and config loading
235
+ ├── docs/ Repo docs and extension corpus integration
236
+ ├── gateway/ HTTP + WebSocket gateway
237
+ ├── memory/ ClawVault and legacy memory engine
238
+ ├── nanobot/ Local companion UI server
239
+ ├── network/ Tailscale and tmux helpers
240
+ ├── nft/ Birth certificate support
241
+ ├── onchain/ Helius readers and wallet scans
242
+ ├── pet/ TamaGOchi state machine
243
+ ├── registry/ Devnet identity registration
244
+ ├── strategy/ Indicators and signal logic
245
+ ├── trading/ OODA trading engine
246
+ └── wallet/ Solana wallet management
247
+ ```
295
248
 
296
- MIT [NanoSolana Labs](https://nanosolana.com)
249
+ ## Security Notes
297
250
 
298
- ---
251
+ - Secrets are stored in `~/.nanosolana/vault.enc` with AES-256-GCM encryption.
252
+ - Gateway signatures use HMAC-SHA256 and constant-time comparison via `crypto.timingSafeEqual`.
253
+ - HTTP and WebSocket surfaces are rate-limited per source address.
254
+ - The default vault password source is local-machine oriented. Set `NANO_VAULT_PASSWORD` explicitly if you need a stable password across shells or hosts.
255
+ - On-chain registration uses Solana devnet today. Do not treat devnet identity as production custody or compliance infrastructure.
256
+ - The trading engine is experimental software. Start with `demo`, then a burner wallet, then very small live balances.
299
257
 
300
- <div align="center">
258
+ ## Package Scope
301
259
 
302
- **Built for the financial agents of tomorrow. Open source forever.**
260
+ This README covers the published TypeScript package in `nano-core`.
261
+ For the broader monorepo, including NanoHub, extensions, apps, and site assets, see the main repository README:
303
262
 
304
- [Website](https://nanosolana.com) · [Hub](https://hub.nanosolana.com) · [Docs](https://docs.nanosolana.com) · [GitHub](https://github.com/x402agent/NanoSolana) · [Discord](https://discord.gg/nanosolana)
263
+ - [Monorepo guide](https://github.com/x402agent/NanoSolana/blob/main/README.md)
264
+ - [Docs site source](https://github.com/x402agent/NanoSolana/tree/main/nano-docs)
265
+ - [Contributing guide](https://github.com/x402agent/NanoSolana/blob/main/CONTRIBUTING.md)
305
266
 
306
- 🦞 *Built with lobster energy by NanoSolana Labs* 🦞
267
+ ## License
307
268
 
308
- </div>
269
+ MIT. See [LICENSE](LICENSE).