@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.
Files changed (3) hide show
  1. package/README.md +35 -24
  2. package/dist/index.js +1178 -206
  3. 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. See
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 perp `realizedGrossUsd` (venue `closedPnl`), signed
305
- `fundingUsd` (received positive, paid negative), `feesUsd` (venue fees including builder fees;
306
- rebates are negative), and `realizedNetUsd = realizedGrossUsd + fundingUsd - feesUsd`.
307
- Builder fees are already included in the venue fee and are not subtracted again. These figures
308
- stay separate from spot and LP totals and exclude unrealized perps, deposits and withdrawals.
309
-
310
- Coverage is **currently bound EVM TEE wallets since the current TEE binding**,
311
- shown in `byWallet` with `startTime` in epoch milliseconds. That start is the latest rebind
312
- onto this key, or the wallet's creation time when it was bound then and never rebound. A
313
- rebound wallet does not bring its previous key's history. A wallet-set row is not required,
314
- and an older one cannot move the start earlier than the binding. Revoked and previous
315
- bindings, spot and HIP-3 fills are excluded. This is a binding-period read, not lifetime or
316
- order-level attribution.
317
-
318
- Reads use the venue client's two-second cache. `userFills` is capped at 2,000 recent rows;
319
- `userFunding` at 500 rows from `startTime`, and this response covers at most 20 bound
320
- wallets. `truncated` flags any reached history cap or remaining wallet page; `byWallet` names
321
- `fillsTruncated` and `fundingTruncated`. Funding and fills can cover different time spans when
322
- capped: a partial net must not be quoted as a lifetime figure. On upstream, wallet-discovery or
323
- malformed-data failure the section is `{ read: false, reason }`, without amounts; spot PnL still
324
- answers. An empty successful read is `{ read: true, ... }` with zero amounts. `--json` preserves
325
- the section and its coverage fields. Agent boards are outside this slice.
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