@namera-ai/cli 0.1.4 → 1.0.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/README.md +91 -221
- package/dist/index.js +1660 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -50
- package/LICENSE +0 -201
- package/dist/commands/index.mjs +0 -21
- package/dist/commands/index.mjs.map +0 -1
- package/dist/commands/keystore/create.mjs +0 -74
- package/dist/commands/keystore/create.mjs.map +0 -1
- package/dist/commands/keystore/decrypt.mjs +0 -71
- package/dist/commands/keystore/decrypt.mjs.map +0 -1
- package/dist/commands/keystore/import.mjs +0 -84
- package/dist/commands/keystore/import.mjs.map +0 -1
- package/dist/commands/keystore/index.mjs +0 -28
- package/dist/commands/keystore/index.mjs.map +0 -1
- package/dist/commands/keystore/info.mjs +0 -62
- package/dist/commands/keystore/info.mjs.map +0 -1
- package/dist/commands/keystore/list.mjs +0 -46
- package/dist/commands/keystore/list.mjs.map +0 -1
- package/dist/commands/keystore/remove.mjs +0 -51
- package/dist/commands/keystore/remove.mjs.map +0 -1
- package/dist/commands/mcp/index.mjs +0 -13
- package/dist/commands/mcp/index.mjs.map +0 -1
- package/dist/commands/mcp/start.mjs +0 -82
- package/dist/commands/mcp/start.mjs.map +0 -1
- package/dist/commands/schema/index.mjs +0 -53
- package/dist/commands/schema/index.mjs.map +0 -1
- package/dist/commands/session-key/create/index.mjs +0 -87
- package/dist/commands/session-key/create/index.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/base.mjs +0 -52
- package/dist/commands/session-key/create/prompts/base.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/call.mjs +0 -85
- package/dist/commands/session-key/create/prompts/call.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/common.mjs +0 -27
- package/dist/commands/session-key/create/prompts/common.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/gas.mjs +0 -19
- package/dist/commands/session-key/create/prompts/gas.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/index.mjs +0 -44
- package/dist/commands/session-key/create/prompts/index.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/rate-limit.mjs +0 -40
- package/dist/commands/session-key/create/prompts/rate-limit.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/signature-caller.mjs +0 -26
- package/dist/commands/session-key/create/prompts/signature-caller.mjs.map +0 -1
- package/dist/commands/session-key/create/prompts/timestamp.mjs +0 -32
- package/dist/commands/session-key/create/prompts/timestamp.mjs.map +0 -1
- package/dist/commands/session-key/index.mjs +0 -26
- package/dist/commands/session-key/index.mjs.map +0 -1
- package/dist/commands/session-key/info.mjs +0 -64
- package/dist/commands/session-key/info.mjs.map +0 -1
- package/dist/commands/session-key/list.mjs +0 -54
- package/dist/commands/session-key/list.mjs.map +0 -1
- package/dist/commands/session-key/remove.mjs +0 -51
- package/dist/commands/session-key/remove.mjs.map +0 -1
- package/dist/commands/session-key/status.mjs +0 -64
- package/dist/commands/session-key/status.mjs.map +0 -1
- package/dist/commands/smart-account/create.mjs +0 -94
- package/dist/commands/smart-account/create.mjs.map +0 -1
- package/dist/commands/smart-account/import.mjs +0 -45
- package/dist/commands/smart-account/import.mjs.map +0 -1
- package/dist/commands/smart-account/index.mjs +0 -30
- package/dist/commands/smart-account/index.mjs.map +0 -1
- package/dist/commands/smart-account/info.mjs +0 -66
- package/dist/commands/smart-account/info.mjs.map +0 -1
- package/dist/commands/smart-account/list.mjs +0 -48
- package/dist/commands/smart-account/list.mjs.map +0 -1
- package/dist/commands/smart-account/remove.mjs +0 -54
- package/dist/commands/smart-account/remove.mjs.map +0 -1
- package/dist/commands/smart-account/status.mjs +0 -63
- package/dist/commands/smart-account/status.mjs.map +0 -1
- package/dist/dto/index.mjs +0 -6
- package/dist/dto/keystore.mjs +0 -44
- package/dist/dto/keystore.mjs.map +0 -1
- package/dist/dto/mcp.mjs +0 -13
- package/dist/dto/mcp.mjs.map +0 -1
- package/dist/dto/session-key.mjs +0 -54
- package/dist/dto/session-key.mjs.map +0 -1
- package/dist/dto/smart-account.mjs +0 -45
- package/dist/dto/smart-account.mjs.map +0 -1
- package/dist/flags/global.mjs +0 -29
- package/dist/flags/global.mjs.map +0 -1
- package/dist/flags/shared.mjs +0 -11
- package/dist/flags/shared.mjs.map +0 -1
- package/dist/helpers/humanize.mjs +0 -153
- package/dist/helpers/humanize.mjs.map +0 -1
- package/dist/helpers/paths.mjs +0 -31
- package/dist/helpers/paths.mjs.map +0 -1
- package/dist/helpers/policy.mjs +0 -89
- package/dist/helpers/policy.mjs.map +0 -1
- package/dist/helpers/pretty.mjs +0 -71
- package/dist/helpers/pretty.mjs.map +0 -1
- package/dist/index.d.mts +0 -2
- package/dist/index.mjs +0 -36
- package/dist/index.mjs.map +0 -1
- package/dist/layers/config.mjs +0 -124
- package/dist/layers/config.mjs.map +0 -1
- package/dist/layers/index.mjs +0 -11
- package/dist/layers/keystore.mjs +0 -225
- package/dist/layers/keystore.mjs.map +0 -1
- package/dist/layers/mcp-context.mjs +0 -8
- package/dist/layers/mcp-context.mjs.map +0 -1
- package/dist/layers/mcp.mjs +0 -31
- package/dist/layers/mcp.mjs.map +0 -1
- package/dist/layers/output.mjs +0 -21
- package/dist/layers/output.mjs.map +0 -1
- package/dist/layers/prompt.mjs +0 -78
- package/dist/layers/prompt.mjs.map +0 -1
- package/dist/layers/session-key.mjs +0 -218
- package/dist/layers/session-key.mjs.map +0 -1
- package/dist/layers/smart-account.mjs +0 -175
- package/dist/layers/smart-account.mjs.map +0 -1
- package/dist/layers/web3.mjs +0 -83
- package/dist/layers/web3.mjs.map +0 -1
- package/dist/mcp/helpers/common.mjs +0 -9
- package/dist/mcp/helpers/common.mjs.map +0 -1
- package/dist/mcp/helpers/index.mjs +0 -4
- package/dist/mcp/helpers/session-key.mjs +0 -129
- package/dist/mcp/helpers/session-key.mjs.map +0 -1
- package/dist/mcp/index.mjs +0 -43
- package/dist/mcp/index.mjs.map +0 -1
- package/dist/mcp/mcp.mjs +0 -15
- package/dist/mcp/mcp.mjs.map +0 -1
- package/dist/mcp/tools/account/address.mjs +0 -20
- package/dist/mcp/tools/account/address.mjs.map +0 -1
- package/dist/mcp/tools/account/get-balance.mjs +0 -54
- package/dist/mcp/tools/account/get-balance.mjs.map +0 -1
- package/dist/mcp/tools/account/index.mjs +0 -15
- package/dist/mcp/tools/account/index.mjs.map +0 -1
- package/dist/mcp/tools/read/index.mjs +0 -11
- package/dist/mcp/tools/read/index.mjs.map +0 -1
- package/dist/mcp/tools/read/read-contract.mjs +0 -49
- package/dist/mcp/tools/read/read-contract.mjs.map +0 -1
- package/dist/mcp/tools/transaction/execute-transaction.mjs +0 -38
- package/dist/mcp/tools/transaction/execute-transaction.mjs.map +0 -1
- package/dist/mcp/tools/transaction/index.mjs +0 -15
- package/dist/mcp/tools/transaction/index.mjs.map +0 -1
- package/dist/mcp/tools/transaction/native-transfer.mjs +0 -59
- package/dist/mcp/tools/transaction/native-transfer.mjs.map +0 -1
- package/dist/schema/chain.mjs +0 -124
- package/dist/schema/chain.mjs.map +0 -1
- package/dist/schema/common.mjs +0 -29
- package/dist/schema/common.mjs.map +0 -1
- package/dist/schema/index.mjs +0 -5
- package/dist/schema/policy.mjs +0 -114
- package/dist/schema/policy.mjs.map +0 -1
- package/dist/schema/tx.mjs +0 -19
- package/dist/schema/tx.mjs.map +0 -1
- package/dist/types/index.mjs +0 -11
- package/dist/types/index.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,267 +1,137 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
Namera
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<a href="https://www.npmjs.com/package/@namera-ai/cli"><img src="https://img.shields.io/npm/v/@namera-ai/cli" alt="npm version"></a>
|
|
7
|
-
<a href="https://www.npmjs.com/package/@namera-ai/cli"><img src="https://img.shields.io/npm/dm/@namera-ai/cli" alt="npm downloads"></a>
|
|
8
|
-
<a href="https://github.com/thenamespace/namera/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@namera-ai/cli" alt="license"></a>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
## Contents
|
|
12
|
-
|
|
13
|
-
- [Namera CLI](#namera-cli)
|
|
14
|
-
- [Contents](#contents)
|
|
15
|
-
- [Prerequisites](#prerequisites)
|
|
16
|
-
- [Installation](#installation)
|
|
17
|
-
- [Quick Start](#quick-start)
|
|
18
|
-
- [Why Namera CLI?](#why-namera-cli)
|
|
19
|
-
- [Command Groups](#command-groups)
|
|
20
|
-
- [Params Mode and Schema](#params-mode-and-schema)
|
|
21
|
-
- [Output Formats](#output-formats)
|
|
22
|
-
- [Session Key Policies](#session-key-policies)
|
|
23
|
-
- [MCP Server](#mcp-server)
|
|
24
|
-
- [MCP Params Mode](#mcp-params-mode)
|
|
25
|
-
- [Supported Chains](#supported-chains)
|
|
26
|
-
- [Environment Variables](#environment-variables)
|
|
27
|
-
- [Examples](#examples)
|
|
28
|
-
- [Documentation](#documentation)
|
|
29
|
-
- [Security](#security)
|
|
30
|
-
- [License](#license)
|
|
31
|
-
|
|
32
|
-
## Prerequisites
|
|
33
|
-
|
|
34
|
-
- **Node.js 18+** for running the CLI via npm/pnpm/bun
|
|
1
|
+
# @namera-ai/cli
|
|
2
|
+
|
|
3
|
+
Use Namera from your terminal, Codex, or Claude Code. Import encrypted session
|
|
4
|
+
keys and execute within the permissions you approved. The CLI includes a local
|
|
5
|
+
**stdio MCP server** that your agent client starts automatically.
|
|
35
6
|
|
|
36
7
|
## Installation
|
|
37
8
|
|
|
38
|
-
|
|
9
|
+
Requires **Node.js 24.14+** and an available operating-system keyring.
|
|
39
10
|
|
|
40
|
-
```
|
|
41
|
-
npm
|
|
42
|
-
|
|
43
|
-
pnpm i -g @namera-ai/cli
|
|
44
|
-
#or
|
|
45
|
-
bun i -g @namera-ai/cli
|
|
46
|
-
#or
|
|
11
|
+
```sh
|
|
12
|
+
npm install -g @namera-ai/cli
|
|
13
|
+
pnpm add -g @namera-ai/cli
|
|
47
14
|
yarn global add @namera-ai/cli
|
|
48
|
-
|
|
49
|
-
Build from source:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
gh repo clone thenamespace/namera
|
|
53
|
-
cd namera
|
|
54
|
-
pnpm install
|
|
55
|
-
cd apps/cli
|
|
56
|
-
pnpm run build
|
|
57
|
-
pnpm run start -- --help
|
|
58
|
-
# or link to global install
|
|
59
|
-
pnpm link
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Quick Start
|
|
63
|
-
|
|
64
|
-
Create a keystore, smart account, and session key (interactive prompts):
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
namera keystore create --alias my-owner
|
|
68
|
-
```
|
|
69
|
-
```bash
|
|
70
|
-
namera smart-account create --alias my-smart --owner-alias my-owner
|
|
71
|
-
```
|
|
72
|
-
```bash
|
|
73
|
-
namera session-key create --alias my-session-key --smart-account my-smart
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Start the MCP server:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
namera mcp start --smart-account my-smart --session-key my-session-key=my-password --transport http --port 8080
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Why Namera CLI?
|
|
83
|
-
|
|
84
|
-
**For humans**: clear prompts, consistent flags, and readable output.
|
|
85
|
-
|
|
86
|
-
**For agents**: every command has a JSON schema, supports deterministic `--params`, and returns structured output that is easy to parse.
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Schema discovery
|
|
90
|
-
namera schema session-key.create
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Deterministic params mode
|
|
95
|
-
namera session-key create --params '{"alias":"my-session-key","smartAccountAlias":"my-smart","chains":["eth-mainnet"],"sessionKeyPassword":"session-password","ownerKeystorePassword":"owner-password","policyParams":[{"type":"sudo"}]}'
|
|
15
|
+
bun add -g @namera-ai/cli
|
|
96
16
|
```
|
|
97
17
|
|
|
98
|
-
|
|
18
|
+
Choose one command. `yarn global` requires Yarn Classic; with modern Yarn use
|
|
19
|
+
`yarn dlx @namera-ai/cli --help` or install globally with npm/pnpm.
|
|
20
|
+
Bun can install the package, but the executable runs on Node.js.
|
|
99
21
|
|
|
100
|
-
|
|
101
|
-
- `smart-account` (`sa`): Create, import, list, inspect, status, and remove smart accounts
|
|
102
|
-
- `session-key` (`sk`): Create, list, inspect, status, and remove session keys
|
|
103
|
-
- `schema`: Print JSON schema for command parameters
|
|
104
|
-
- `mcp`: Start the local MCP server
|
|
105
|
-
|
|
106
|
-
Explore help:
|
|
107
|
-
|
|
108
|
-
```bash
|
|
22
|
+
```sh
|
|
109
23
|
namera --help
|
|
110
|
-
namera
|
|
111
|
-
namera smart-account --help
|
|
112
|
-
namera session-key --help
|
|
113
|
-
namera mcp --help
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Params Mode and Schema
|
|
117
|
-
|
|
118
|
-
Agents should use `--params` with the schema command to discover the exact input shape.
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
namera schema keystore.create
|
|
122
|
-
namera schema smart-account.create
|
|
123
|
-
namera schema session-key.create
|
|
124
|
-
namera schema mcp.start
|
|
24
|
+
namera --version
|
|
125
25
|
```
|
|
126
26
|
|
|
127
|
-
|
|
27
|
+
## Sign in and inspect wallets
|
|
128
28
|
|
|
129
|
-
```
|
|
130
|
-
namera
|
|
29
|
+
```sh
|
|
30
|
+
namera login
|
|
31
|
+
namera wallet list
|
|
32
|
+
namera session-key list
|
|
33
|
+
namera wallet get <wallet-id>
|
|
34
|
+
namera session-key get <session-key-id>
|
|
131
35
|
```
|
|
132
36
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
namera session-key create --params '{"alias":"my-session-key","smartAccountAlias":"my-smart","chains":["eth-mainnet"],"sessionKeyPassword":"session-password","ownerKeystorePassword":"owner-password","policyParams":[{"type":"sudo"}]}'
|
|
139
|
-
```
|
|
37
|
+
Login opens browser consent to choose access. Credentials persist in the OS
|
|
38
|
+
keyring, so you do not sign in for every command. The default API is
|
|
39
|
+
`https://api.namera.ai`.
|
|
140
40
|
|
|
141
|
-
|
|
41
|
+
For local development:
|
|
142
42
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
- `--quiet`, `-q`: Suppress output entirely
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
namera smart-account list --output json
|
|
150
|
-
namera session-key list --output ndjson
|
|
43
|
+
```sh
|
|
44
|
+
namera login --profile dev --host http://localhost:8080
|
|
45
|
+
namera wallet list --profile dev
|
|
151
46
|
```
|
|
152
47
|
|
|
153
|
-
##
|
|
154
|
-
|
|
155
|
-
Session keys are scoped by one or more policies:
|
|
48
|
+
## Import a session key
|
|
156
49
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
- `timestamp`: Limit validity by time range
|
|
160
|
-
- `gas`: Limit total gas spend and optionally require a paymaster
|
|
161
|
-
- `rate-limit`: Limit number of requests per interval
|
|
162
|
-
- `signature-caller`: Restrict who can validate signatures
|
|
50
|
+
Create a key in the dashboard, approve its networks, and encrypt its export.
|
|
51
|
+
Run the command shown in the dashboard:
|
|
163
52
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{ "type": "timestamp", "validAfter": 1719916800, "validUntil": 1722604800 }
|
|
53
|
+
```sh
|
|
54
|
+
namera session-key import <encrypted-export>
|
|
168
55
|
```
|
|
169
56
|
|
|
170
|
-
|
|
57
|
+
The export passphrase is entered privately. The CLI re-encrypts the key with an
|
|
58
|
+
independent OS-keyring secret and stores an encrypted local file. It never falls
|
|
59
|
+
back to plaintext storage. Keep your encrypted backup and passphrase safe.
|
|
60
|
+
Importing does not install the key onchain or grant a client access to it.
|
|
171
61
|
|
|
172
|
-
|
|
62
|
+
## Connect an agent
|
|
173
63
|
|
|
174
|
-
|
|
175
|
-
namera mcp start --smart-account my-smart --session-key my-session-key=my-password
|
|
176
|
-
```
|
|
64
|
+
Register once with your chosen client:
|
|
177
65
|
|
|
178
|
-
|
|
66
|
+
```sh
|
|
67
|
+
# Codex
|
|
68
|
+
codex mcp add namera -- namera mcp serve --profile codex
|
|
179
69
|
|
|
180
|
-
|
|
181
|
-
|
|
70
|
+
# Claude Code
|
|
71
|
+
claude mcp add --transport stdio --scope user namera -- namera mcp serve --profile claude
|
|
182
72
|
```
|
|
183
73
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Tools exposed:
|
|
74
|
+
Other MCP clients use command `namera` and arguments
|
|
75
|
+
`["mcp", "serve", "--profile", "agent"]`.
|
|
187
76
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
- `native_transfer`
|
|
192
|
-
- `execute_transaction`
|
|
77
|
+
Your client starts the process: no manual daemon or HTTP MCP endpoint is needed.
|
|
78
|
+
First tool use opens browser authorization. Approve access to installed session
|
|
79
|
+
keys and retry the tool after consent. If the browser cannot open:
|
|
193
80
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
namera mcp start --params '{"smartAccountAlias":"my-smart","transport":"http","port":8080,"sessionKeys":{"my-session-key":"my-password"}}'
|
|
81
|
+
```sh
|
|
82
|
+
namera mcp login --profile codex
|
|
83
|
+
namera mcp status --profile codex
|
|
198
84
|
```
|
|
199
85
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
## Environment Variables
|
|
86
|
+
MCP authorization is separate from ordinary CLI login. Use the same profile and
|
|
87
|
+
`--host` for serve/login/status/logout. Import signing keys on this machine
|
|
88
|
+
before executing or signing. Credentials survive restarts. The CLI does not
|
|
89
|
+
automatically export telemetry from your machine.
|
|
205
90
|
|
|
206
|
-
|
|
91
|
+
## Simulate, execute, and sign
|
|
207
92
|
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
export POLYGON_MAINNET_RPC_URL="https://polygon-rpc.com"
|
|
216
|
-
export POLYGON_MAINNET_BUNDLER_URL="https://rpc.zerodev.app/api/v3/<api-token>/chain/137"
|
|
217
|
-
export POLYGON_MAINNET_PAYMASTER_URL="https://rpc.zerodev.app/api/v3/<api-token>/chain/137"
|
|
218
|
-
|
|
219
|
-
# ... and more
|
|
93
|
+
```sh
|
|
94
|
+
namera execution simulate
|
|
95
|
+
namera execution execute
|
|
96
|
+
namera execution status <submission-id>
|
|
97
|
+
namera execution list
|
|
98
|
+
namera sign
|
|
99
|
+
namera verify-signature
|
|
220
100
|
```
|
|
221
101
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
102
|
+
Commands prompt for inputs. For automation, pass `--params '<json>'` using the
|
|
103
|
+
public request shape. Execution/signing requires an imported key, active grant,
|
|
104
|
+
and appropriate authority. Gas is sponsored by default. Self-funded operations
|
|
105
|
+
also require `--max-gas-cost-wei <amount>`; MCP tools cannot raise that ceiling.
|
|
225
106
|
|
|
226
|
-
|
|
107
|
+
## Script-friendly output
|
|
227
108
|
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
namera
|
|
109
|
+
```sh
|
|
110
|
+
namera --output json wallet list
|
|
111
|
+
namera --output ndjson session-key list
|
|
112
|
+
namera --quiet auth status
|
|
231
113
|
```
|
|
232
114
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
Create a session key (interactive policy selection):
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
namera session-key create -a my-session-key -sa my-smart
|
|
242
|
-
```
|
|
115
|
+
Human-readable summaries are the default. JSON includes complete response fields;
|
|
116
|
+
NDJSON emits one document per top-level list item. `NO_COLOR` disables styling.
|
|
117
|
+
MCP reserves stdout for the protocol and writes diagnostics to stderr.
|
|
243
118
|
|
|
244
|
-
|
|
119
|
+
For headless API-key use, supply `NAMERA_API_KEY` through the environment;
|
|
120
|
+
`NAMERA_API_URL` overrides the default host. API keys take precedence over
|
|
121
|
+
ordinary CLI profile credentials, but do not authorize MCP.
|
|
245
122
|
|
|
246
|
-
|
|
247
|
-
# Check smart account deployment status on Ethereum Mainnet
|
|
248
|
-
namera smart-account status --alias my-smart --chain eth-mainnet
|
|
249
|
-
```
|
|
123
|
+
## Sign out
|
|
250
124
|
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
namera
|
|
125
|
+
```sh
|
|
126
|
+
namera logout
|
|
127
|
+
namera mcp logout --profile codex
|
|
254
128
|
```
|
|
255
129
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
-
|
|
260
|
-
|
|
261
|
-
## Security
|
|
262
|
-
|
|
263
|
-
Please report security issues via GitHub: https://github.com/thenamespace/namera/security
|
|
264
|
-
|
|
265
|
-
## License
|
|
130
|
+
Logout revokes that authorization, not other profiles or signing keys. macOS
|
|
131
|
+
Keychain integration is tested; Windows/Linux still need platform verification.
|
|
132
|
+
Headless Linux needs an accessible Secret Service/keyring. There is no plaintext
|
|
133
|
+
or in-memory fallback.
|
|
266
134
|
|
|
267
|
-
|
|
135
|
+
See [local MCP](https://github.com/thenamespace/namera-core/blob/main/architecture/clients/local-mcp.md)
|
|
136
|
+
and [key storage](https://github.com/thenamespace/namera-core/blob/main/architecture/clients/local-keystore.md).
|
|
137
|
+
The four public packages share a release version starting with 1.0.0.
|