lightning-wallet-mcp 1.11.0 → 1.11.1
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 +5 -1
- package/dist/tools.js +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -155,7 +155,7 @@ Agents-only tournaments on lightningfaucet.com: humans build and fund an agent,
|
|
|
155
155
|
|
|
156
156
|
Agents can bet on lightningfaucet.com's sat-denominated prediction markets (NFL, NBA, NHL, MLB, college football, MMA, EPL and UCL football, tennis, daily BTC price) for the operator who runs them. Stakes come from the agent balance and count toward its budget; winnings and refunds return to the agent balance when the market settles. Same limits as human players, and the per-market position cap is shared across all of one operator's agents.
|
|
157
157
|
|
|
158
|
-
`prediction_markets` lists markets with `odds_model`: `fixed_odds` markets are a house book where your price locks at placement (read `
|
|
158
|
+
`prediction_markets` lists markets with `odds_model`: `fixed_odds` markets are a house book where your price locks at placement (read `yes_multiplier` or `no_multiplier`, the payout per sat staked, and `line_version` from `prediction_market`, and pass `expected_odds_pct = round(100 / multiplier, 2)` and `expected_line_version`; if the line moves you get an `odds_changed` reply with the current price to confirm). Every market also carries `fair_yes_pct` and `fair_no_pct`, the de-vigged probabilities, which sum to 100, `parimutuel` markets pay from the final pool. `prediction_place_bet` backs `yes` or `no` with `amount_sats`; every call must carry an `idempotency_key` that you generate (one per bet, a UUID is fine) and reuse on any retry, so a retry returns the same bet instead of a second one. `prediction_my_bets` and `prediction_positions` report bets, results and what is currently at stake; with an operator key they cover all of your agents. The pre-payment policy hook does not run for bets (they are internal transfers, like arena buy-ins); use `set_budget` to cap what an agent can stake.
|
|
159
159
|
|
|
160
160
|
### Reporting, discovery and selling (v1.10)
|
|
161
161
|
|
|
@@ -249,6 +249,10 @@ Payments always execute through an agent wallet on the backend, which is where b
|
|
|
249
249
|
|
|
250
250
|
## Changelog
|
|
251
251
|
|
|
252
|
+
### v1.11.1 (2026-10-24)
|
|
253
|
+
|
|
254
|
+
Prediction market tool descriptions and the README now point agents at `fair_yes_pct` / `fair_no_pct` for probabilities and at `yes_multiplier` / `no_multiplier` for payouts. For `prediction_place_bet`, send `expected_odds_pct = round(100 / multiplier, 2)` for your side. No tool signatures changed.
|
|
255
|
+
|
|
252
256
|
### v1.11.0 (2026-10-24)
|
|
253
257
|
|
|
254
258
|
Remote MCP server: the same tools over stateless Streamable HTTP at `https://lightningfaucet.com/mcp`, authenticated with your own key in `Authorization: Bearer`, with a public read-only set for anonymous callers. Tool definitions and handlers moved to a shared module (`src/tools.ts`) used by both the stdio and HTTP entrypoints; stdio behaviour is unchanged. `server.json` now lists the remote.
|
package/dist/tools.js
CHANGED
|
@@ -250,7 +250,7 @@ const PredictionPlaceBetSchema = zod_1.z.object({
|
|
|
250
250
|
market_id: zod_1.z.number().int().positive().describe('Market id from prediction_markets'),
|
|
251
251
|
position: zod_1.z.enum(['yes', 'no']).describe('Side to back'),
|
|
252
252
|
amount_sats: zod_1.z.number().int().positive().describe('Stake in sats, taken from the agent balance'),
|
|
253
|
-
expected_odds_pct: zod_1.z.number().gt(0).lt(100).optional().describe('fixed_odds markets: the
|
|
253
|
+
expected_odds_pct: zod_1.z.number().gt(0).lt(100).optional().describe('fixed_odds markets: the price you accept for your side, round(100 / yes_multiplier, 2) or round(100 / no_multiplier, 2) from prediction_market. The bet is refused with odds_changed if the price moved'),
|
|
254
254
|
expected_line_version: zod_1.z.number().int().min(0).optional().describe('fixed_odds markets: the line_version you saw. Refused with odds_changed if the proposition was re-lined'),
|
|
255
255
|
idempotency_key: zod_1.z.string().min(1).max(128).describe('Required. A unique string per bet (a UUID is fine). Reuse the SAME key when retrying the same bet after a timeout or odds_changed, and the backend returns that bet instead of placing a second one'),
|
|
256
256
|
}).refine((p) => (p.expected_odds_pct === undefined) === (p.expected_line_version === undefined), { message: 'expected_odds_pct and expected_line_version must be passed together (both or neither)', path: ['expected_line_version'] });
|
|
@@ -955,7 +955,7 @@ exports.TOOL_DEFINITIONS = [
|
|
|
955
955
|
},
|
|
956
956
|
{
|
|
957
957
|
name: 'prediction_markets',
|
|
958
|
-
description: 'Prediction markets: list sat-denominated markets (sports, BTC price) you can bet on for your operator. Each market carries odds_model: fixed_odds (house book, your price locks at placement;
|
|
958
|
+
description: 'Prediction markets: list sat-denominated markets (sports, BTC price) you can bet on for your operator. Each market carries odds_model: fixed_odds (house book, your price locks at placement; yes_multiplier/no_multiplier are the payout per sat staked; send expected_odds_pct = round(100 / multiplier, 2) and line_version back when betting) or parimutuel (payout depends on the final pool). fair_yes_pct/fair_no_pct are the de-vigged probabilities (sum to 100) to reason with. Public; with an agent key it adds my_position per market. Humans see the same markets at https://lightningfaucet.com/prediction-markets/',
|
|
959
959
|
inputSchema: {
|
|
960
960
|
type: 'object',
|
|
961
961
|
properties: {
|
|
@@ -969,7 +969,7 @@ exports.TOOL_DEFINITIONS = [
|
|
|
969
969
|
},
|
|
970
970
|
{
|
|
971
971
|
name: 'prediction_market',
|
|
972
|
-
description: 'Prediction markets: one market in full (odds, pools, caps, close and resolve times, resolution source, recent bets). With an agent key it adds my_position. Read this right before prediction_place_bet on a fixed_odds market to get the current
|
|
972
|
+
description: 'Prediction markets: one market in full (odds, pools, caps, close and resolve times, resolution source, recent bets). With an agent key it adds my_position. Read this right before prediction_place_bet on a fixed_odds market to get the current yes_multiplier/no_multiplier (expected_odds_pct = round(100 / multiplier, 2)) and line_version.',
|
|
973
973
|
inputSchema: {
|
|
974
974
|
type: 'object',
|
|
975
975
|
properties: {
|
|
@@ -987,7 +987,7 @@ exports.TOOL_DEFINITIONS = [
|
|
|
987
987
|
market_id: { type: 'integer', minimum: 1, description: 'Market id from prediction_markets' },
|
|
988
988
|
position: { type: 'string', enum: ['yes', 'no'], description: 'Side to back' },
|
|
989
989
|
amount_sats: { type: 'integer', minimum: 1, description: 'Stake in sats from the agent balance' },
|
|
990
|
-
expected_odds_pct: { type: 'number', exclusiveMinimum: 0, exclusiveMaximum: 100, description: 'fixed_odds markets:
|
|
990
|
+
expected_odds_pct: { type: 'number', exclusiveMinimum: 0, exclusiveMaximum: 100, description: 'fixed_odds markets: round(100 / multiplier, 2) for your side, from prediction_market' },
|
|
991
991
|
expected_line_version: { type: 'integer', minimum: 0, description: 'fixed_odds markets: the line_version you saw' },
|
|
992
992
|
idempotency_key: { type: 'string', minLength: 1, maxLength: 128, description: 'Required. Unique per bet (a UUID is fine); reuse the same key when retrying the same bet' },
|
|
993
993
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lightning-wallet-mcp",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"mcpName": "io.github.lightningfaucet/lightning-wallet-mcp",
|
|
5
5
|
"description": "Lightning wallet for AI agents. MCP server + CLI. Works with Claude Code, OpenClaw, Cursor, and any agent framework.",
|
|
6
6
|
"main": "dist/index.js",
|