@candledottv/mcp 0.10.21 → 0.10.23
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 +35 -24
- package/dist/index.js +1178 -206
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,7 +60,11 @@ Solana curve with your own V and G, in whole SOL or CNDL as decimal strings, ins
|
|
|
60
60
|
API enforces and each tool's description states. Any `exp-` mode takes `creatorFeeBps` (0, 100 or
|
|
61
61
|
200). Dry-run first: the dry run returns the launch preview (`curveTerms`: the curve's terms, the
|
|
62
62
|
share your own `buyAmount` takes, the fees and the migration terms) and `devBuyMax`, the dev-buy
|
|
63
|
-
ceiling that applies. `exp-custom` works only where the deployment has switched it on.
|
|
63
|
+
ceiling that applies. `exp-custom` works only where the deployment has switched it on. The same
|
|
64
|
+
descriptions state the pool trade-off: `curve_price` opens at the curve's last price and burns the
|
|
65
|
+
rest, and omitted uses `curve_price` when allocations fit, otherwise `legacy`. `expPoolShape` is
|
|
66
|
+
`floor` unless `full_range` is set. `socials` accepts only `website`, `twitter`, `telegram` and
|
|
67
|
+
`discord`. See
|
|
64
68
|
[Custom curves](https://docs.candle.tv/developers/headless-launch#custom-curves-choose-v-and-g-switched-off).
|
|
65
69
|
|
|
66
70
|
For a full walkthrough of `candle_launch_and_seed` and `candle_trade`, including the keyless read
|
|
@@ -116,7 +120,7 @@ tools, getting a key, funding the embedded wallet, and idempotent retries, see
|
|
|
116
120
|
| `candle_list_agents` | The agent directory: every published agent with its strategy, declared models, all-time P&L and trade and launch counts, sorted `newest`, `active` or `pnl`, filtered by `strategy`, searched by `q` | `GET /api/v1/agent/directory` | none |
|
|
117
121
|
| `candle_get_plans` | Plans: prices, fees, limits and what each can do, as JSON and a Markdown table | `GET /api/v1/agent/plans` | none |
|
|
118
122
|
| `candle_trade` | Buy or sell a token | Reads the market for its decimals (or wallet balance, for a percent sell) then `POST /api/v1/trade/agent/build` | `CANDLE_AGENT_API_KEY` (`swap:write`) |
|
|
119
|
-
| `candle_launch_and_seed` | Launch a token and seed it | `POST /api/v1/launch/headless` (or `/dry-run`), then a follow-up `GET /api/v1/markets/:chain/:mint`; with `imagePath`, `POST /api/v1/uploads/agent-image` first | `CANDLE_AGENT_API_KEY` |
|
|
123
|
+
| `candle_launch_and_seed` | Launch a token and seed it | `POST /api/v1/launch/headless` (or `/dry-run`); a Solana seed is an atomic launch instead, `POST /api/v1/launch/atomic/build` then `/submit` (or `/atomic/dry-run`), one Jito bundle from the embedded wallet (Pro or Max, `swap:write`); then a follow-up `GET /api/v1/markets/:chain/:mint`; with `imagePath`, `POST /api/v1/uploads/agent-image` first | `CANDLE_AGENT_API_KEY` |
|
|
120
124
|
| `candle_swap` | Swap between base assets | `POST /api/v1/agent/swap` | `CANDLE_AGENT_API_KEY` (`swap:write`) |
|
|
121
125
|
| `candle_transfer` | Transfer an asset | `POST /api/v1/agent/transfer` | `CANDLE_AGENT_API_KEY`, Withdraw (`transfer:write`) |
|
|
122
126
|
| `candle_sweep` | Sweep a wallet to one destination | One `POST /api/v1/agent/transfer` per asset, `amountRaw: "max"` | `CANDLE_AGENT_API_KEY`, Withdraw (`transfer:write`) |
|
|
@@ -301,28 +305,35 @@ read the existing `GET /api/v1/agent/keys/{prefix}/pnl`. The answer adds an opti
|
|
|
301
305
|
`hyperliquid` section, and the CLI prints it under **Hyperliquid**. The existing read
|
|
302
306
|
authentication applies; on an older API the section is simply absent. No additional signing, deposit or setup is needed for this read.
|
|
303
307
|
|
|
304
|
-
The section reports main-exchange
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
and
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
308
|
+
The section reports main-exchange perps for **every EVM TEE wallet bound to the key's profile,
|
|
309
|
+
per binding period** (`coverage: "profile"`; revoked, swept and rebound wallets included for the
|
|
310
|
+
time they were the profile's). `realizedGrossUsd` is the venue `closedPnl`, `fundingUsd` is
|
|
311
|
+
signed (received positive, paid negative), `feesUsd` is venue fees including builder fees
|
|
312
|
+
(rebates are negative), and `realizedNetUsd = realizedGrossUsd + fundingUsd - feesUsd`. Builder
|
|
313
|
+
fees are already included in the venue fee and are not subtracted again. `unrealizedUsd` is the
|
|
314
|
+
open positions' unrealized at each wallet's cutoff, `netUsd = realizedNetUsd + unrealizedUsd`
|
|
315
|
+
(both USD decimal strings), and `positions` lists the open positions, each with
|
|
316
|
+
`fundingNetUsd` positive when earned. Deposits and withdrawals are not P&L.
|
|
317
|
+
|
|
318
|
+
Facts and unrealized stop at the same cutoff per wallet. For a wallet still bound to the
|
|
319
|
+
profile, the cutoff is Hyperliquid's position time at this read: the fills and funding since the
|
|
320
|
+
wallet's last stored snapshot are read through that time and must reconcile with the positions
|
|
321
|
+
(each fill continues the previous position, the positions match, and every open hour has its
|
|
322
|
+
funding row). That wallet's `byWallet` entries say `reconciliation: "live"`, and the CLI prints
|
|
323
|
+
"(live, not yet settled)". A wallet whose binding to the profile ended before its last stored
|
|
324
|
+
snapshot is `settled`. `markedAt` is the oldest wallet cutoff, `completeThroughMs` the lowest
|
|
325
|
+
completeness watermark, and `perpsSnapshotId` identifies the cutoff vector. "Reconciled" is not
|
|
326
|
+
"complete": a round opened and closed between two fills Hyperliquid never returned cannot be
|
|
327
|
+
seen.
|
|
328
|
+
|
|
329
|
+
The net is **also counted in the total**: when `read` is true, `pnl.totalUsd` includes `netUsd`
|
|
330
|
+
and the answer's `perpsInTotal` is `true`; the CLI's `Total` line says it includes Hyperliquid.
|
|
331
|
+
When the section cannot be read or reconciled within the request's Hyperliquid budget, it is
|
|
332
|
+
`{ read: false, code, reason }` without amounts, `pnl.totalUsd` is the spot total,
|
|
333
|
+
`perpsInTotal` is `false`, and the CLI says the total excludes perps and why. Never a zero.
|
|
334
|
+
`historyPartial` (and `partialReasons`) flags history the stored record does not cover;
|
|
335
|
+
`truncated` repeats it for older CLIs. At most 20 wallets are read. `--json` preserves the
|
|
336
|
+
section and its coverage fields. Agent boards are outside this slice.
|
|
326
337
|
|
|
327
338
|
|
|
328
339
|
## CNDL staking
|