Skip to content
This repository was archived by the owner on Sep 20, 2026. It is now read-only.

Releases: paytaca/opencode-plugin

v0.3.3

Choose a tag to compare

@joemarct joemarct released this 14 Sep 06:41

Highlights

  • Free concierge can now run your Paytaca wallet: when a paid session runs out, the free concierge can request a paytaca CLI command (wallet info, token list, etc.). The plugin proxy executes it locally and feeds the live result back, so answers use real wallet data instead of guessing. Only the paytaca command is allowed — no other tools.
  • LIFT balance questions now answered correctly: get_tokens explicitly handles LIFT (accepts the name "LIFT" or its category id), and get_balance is documented as BCH-only, so the assistant no longer claims it cannot see token balances.

Fixes

  • MCP get_plans, buy_plan, auto_refill, and the wrapper stability probe now require the exact Model ID, preventing mismatched model selection.

Full Changelog: v0.3.2...v0.3.3

v0.3.2

Choose a tag to compare

@joemarct joemarct released this 09 Sep 16:37

Highlights

  • Guided plan purchases: buy_plan now runs a strict 3-step flow (model → duration → payment method) instead of inline tier menus, supports paying with LIFT tokens (10% discount), and reports LIFT savings in USD.
  • Paytaca platform fee on LIFT payments (#3): LIFT-funded plan purchases sell tokens on the Cauldron DEX and now include a 0.3% platform fee (capped at $1, skipped when it would be below the 546-sat dust threshold), in addition to the DEX trade fee.
  • Sharper pricing output: human-readable durations plus table-formatted get_plans / get_credits, and concrete "buy this" suggestions in pricing responses and 402 messages.

Fixes

  • Capped the internal buy_plan purchase-probe body at 1 token to avoid MCP client timeouts.
  • Plan purchases now probe the backend plan endpoint several times and abort without broadcasting if pricing looks unstable or changes mid-purchase (PAYTACA_PLAN_PROBE=0 to disable).

Dependencies

  • paytaca-cli 0.5.1: adapted MCP to CLI arg/output changes; paying plans with LIFT requires paytaca-cli >= 0.5.0.
  • paytaca-cli 0.5.2: brings the platform fee to Cauldron swaps, plus double-count/NaN and bigint-safe fee-cap fixes.

Documentation

  • README now covers the LIFT platform fee, the pre-purchase stability probe, and the paytaca-cli >= 0.5.0 requirement.

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@joemarct joemarct released this 05 Sep 09:09

Highlights

This release keeps long Paytaca AI sessions running without interruption and answers your wallet questions even when you're out of credits.

Auto-refill — never stall mid-task

  • New auto_refill MCP tool arms automatic plan refills. Tell the assistant "keep buying 15-minute plans until the task is done, max 2 hours" and, once credits run out mid-request, the plugin silently buys another plan of the chosen size and keeps working — up to your configured cap, paid with BCH or LIFT.
  • Each refill is a real wallet payment; opencode asks for your approval once when arming.

Free concierge answers

  • When your wallet has no paid capacity left, balance and "how it works" questions are now answered for free by a lightweight concierge model instead of a bare 402 Payment Required — no credits needed to ask about your wallet.
  • Genuine purchase actions still require payment and are never stuck behind the concierge.
  • The proxy now forwards cached X-Wallet-Balance-Sats / X-Lift-Balance-Units headers (15s TTL) so the concierge can answer balance questions from live data.

LIFT payments & discounts

  • Dynamic LIFT payment discount with emphasized savings messaging in payment prompts.
  • LIFT pricing is quoted through get_help / get_plans; pay with LIFT by saying "pay with LIFT" or "pay with my LIFT tokens".

Smarter assistant Q&A

  • New get_help MCP tool: a Q&A guide on the wallet, funding, buying plans, paying with BCH or LIFT, Bitcoin Cash, CashTokens, and Paytaca itself.
  • Info tools append actionable "buy-now" next steps; buy_plan pre-checks credits and fails fast when a purchase is impossible (e.g. still-active credits, no LIFT balance).

Credits visibility

  • New credits proxy command shows remaining time credits per model, and TUI toasts warn when time runs low or exhausted and celebrate when credits are added (manual buy or auto-refill). Disable with PAYTACA_CREDITS_TOASTS=0.

Fixes

  • Resolve paytaca-cli and @cashlab paths robustly for the payment wrapper (hoisted installs, which/where resolution).
  • Cross-platform CLI spawning and a Windows npm path fallback.
  • Proxy always refreshes the payment wrapper on startProxy, so updates to the bundled wrapper take effect without a restart.

Upgrade

opencode plugin update @paytaca/opencode-plugin -g

Requires paytaca-cli@0.5.0+ for LIFT payments; BCH payments work with older versions.

v0.2.2

Choose a tag to compare

@joemarct joemarct released this 03 Sep 15:57

Highlights

This release brings LIFT token payments to Paytaca AI plans — you can now pay for AI time with your LIFT balance instead of BCH. The payment wrapper builds a single Cauldron swap transaction that sells LIFT and pays the x402 payTo address directly, so one on-chain transaction completes the purchase.

LIFT payments (opt-in)

  • The buy_plan MCP tool gained a payment_method argument (bch | lift).
  • Set it to lift to sell LIFT tokens via Cauldron and fund the plan in a single swap transaction. The wallet's LIFT balance is used directly; leftover token dust returns as change.
  • LIFT is used only when explicitly requested (e.g. "pay with LIFT", "pay with LIFT tokens") — BCH remains the default.
  • buy_plan now fails fast with a clear message when the wallet holds no LIFT, mirroring the existing BCH insufficient-balance check.

Other changes

  • Depend on paytaca-cli@^0.5.0 for the Cauldron machinery behind LIFT payments.

Upgrade

npm install -g @paytaca/opencode-plugin

Requires paytaca-cli@0.5.0+ for LIFT payments. BCH payments continue to work with older versions.

v0.2.1

Choose a tag to compare

@joemarct joemarct released this 01 Sep 10:39

What's Changed

  • feat(self-heal): the plugin now keeps itself consistent — on every launch it checks the npm registry and, if a newer version exists, pins the exact version in your opencode configs, removes stale lockfile pins, and cleans outdated plugin cache directories, so opencode plugin install just works (fc8c7fa)
  • fix(proxy): fixed a race where two concurrent chat requests could wipe a pending payment prompt, causing the tier-selection menu to loop infinitely after paying. A request can now only clear its own pending payment (a0554b8)
  • feat(mcp): new buy_plan tool — ask for a plan for any model (not just the active one) and the assistant purchases it via x402 after opencode's approval prompt (79447d2)
  • fix(plugin): installs now work flawlessly on Windows, macOS, and Linux — Windows gets a .cmd shim (no privileged symlinks), case-insensitive path handling, and os.homedir()-based config resolution (e791a0d)
  • feat(proxy): when the active model runs out of credits (402), the proxy now tells you if other models still have remaining credits so you can switch instead of paying — and it detects model switches, clearing stale payment prompts automatically (ff068bc)

Changelog

  • feat: self-heal version installation and cleanup stale pins and caches
  • fix(proxy): guard pending payment against concurrent response clears
  • feat(mcp): add buy_plan tool to purchase time credits for any model
  • fix(plugin): make install work cross-platform (win cmd shim, case-insensitive paths)
  • feat(proxy): hint about other models with credits on 402 and detect model switches
  • chore: bump version to 0.2.1

v0.2.0

Choose a tag to compare

@joemarct joemarct released this 01 Sep 07:28

What's Changed

  • feat(mcp): the plugin now auto-registers a local paytaca MCP server, so the assistant can answer account questions in plain language with live data — remaining credits, wallet balance, available models, and plan pricing (get_credits, get_balance, get_models, get_plans) (6d48b69)
  • feat(context): proxy-generated messages (payment prompts, tier-selection menus, credits output, payment notices) no longer reach the LLM. They stay visible in the session UI for you, but are stripped from the context sent to the model — along with your selection replies (e.g. picking a plan tier) — so coding conversations are never polluted by payment flow chatter and billed tokens drop (6d48b69)
  • feat(mcp): added Paytaca CLI wallet tools to the MCP server — recent transactions (get_transactions), receiving address (get_receiving_address), CashToken holdings (get_tokens), and sending funds (send). Sending always triggers opencode's native permission prompt first (paytaca_send defaults to ask) (350412a)

Changelog

  • feat(mcp): add wallet tools — transactions, receiving address, tokens, send
  • feat: register paytaca MCP server and keep proxy chatter out of LLM context
  • chore: bump version to 0.2.0

v0.1.16

Choose a tag to compare

@joemarct joemarct released this 24 Aug 06:08

What's Changed

  • feat(proxy): display USD tier prices in the payment prompt and plans command (b4641a9) — users now see the equivalent USD cost alongside BCH/CashToken pricing when selecting tiers.

Changelog

  • feat(proxy): display USD tier prices in payment prompt and plans command
  • chore: bump version to 0.1.16

v0.1.15

Choose a tag to compare

@joemarct joemarct released this 15 Aug 05:50

What's Changed

Payment flow improvements

  • Fix(proxy): preserve tool calls in streamed responses — message.tool_calls is now forwarded as SSE tool_calls deltas (with finish_reason: tool_calls) after the non-streaming paytaca-pay round-trip. Tool-using responses common in coding sessions are no longer dropped, which previously produced empty assistant messages in OpenCode.
  • Payment feedback in the chat — a 💳 Payment successful message is now prepended before the streamed answer in both post-payment success paths.
  • Better payment failure handling — on failure the error is streamed and the tier-selection prompt is re-shown in the same response, restoring the pending payment to the tier_select step so the next pick retries without a re-chat.
  • No double-charge on timeout — timeout keeps the processed-payment behavior (payment already handled, no re-prompt).
  • Longer pay timeout — wrapper fetch timeout raised from 120s to 240s (PAYTACA_PAY_TIMEOUT_MS).

Reliability

  • Harden error handling for destroyed/ended responses — SSE and JSON writes are now guarded against already-destroyed or ended responses, with fallback JSON error responses when headers haven't been sent, and logging instead of silently swallowing failures.
  • Better wrapper error extraction — errors are now parsed from the wrapper's stdout JSON when stderr is empty, instead of reporting a generic exit-code error.
  • Quieter startup — proxy lifecycle logs silenced on startup.

Dependencies

  • Upgraded paytaca-cli to v0.4.1.

Full Changelog: v0.1.14...v0.1.15

v0.1.14

Choose a tag to compare

@joemarct joemarct released this 11 Aug 03:33

What's Changed

  • Fix(proxy): persist displayName in pending payment state — display names are now retained while a payment is pending.
  • Fix(proxy): auto-restart stale proxy and fix port availability check — the proxy now restarts automatically when stale and the port availability check is more reliable.
  • Fix(proxy): remove heartbeat auto-shutdown so proxy persists across sleep — the proxy no longer shuts down after a heartbeat timeout, so it stays alive across sleep/wake cycles. Also removes the now-unused bundled proxy/config modules.
  • Chore: bump version to v0.1.14
  • Merge branch 'master' of github.com:paytaca/opencode-plugin (fca85bf)

v0.1.13

Choose a tag to compare

@joemarct joemarct released this 09 Aug 16:40

What's Changed

  • Fix duplicate tier label in model names — removed the plugin-side tier suffix (e.g. "(Premium)") that was being appended to model display names. The backend's display_name already includes the tier, so this eliminates duplication like "DeepSeek V4 Pro (Premium) (Premium)".