Topup logo

Topup

OrganizationPopular
openonion
topup

Check the OpenOnion balance and open the recharge page with the user's own key pre-filled. Reports the balance in plain money, says how long it lasts at $0.10/hour of browser time, and hands over a purchase link that needs no login — the key is already in it. If connectonion is not installed yet, install it first (install-connectonion). Use when the user says "top up", "add credit", "recharge", "check my balance", "how much do I have left", "充值", or a paid action failed because the balance is empty.

Overview

Publisheropenonion
Repositoryconnectonion
Skill nametopup
Stars
1.5K
Forks
218
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by openonion on GitHub. Read the source before you install it.

Installation

Install the Topup AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/openonion/connectonion.git /tmp/connectonion
mkdir -p .claude/skills
cp -r /tmp/connectonion/connectonion/cli/co_ai/skills/builtin/topup .claude/skills/topup
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Topup in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Topup on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Topup is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Top-up Skill

Answer one question — "how much do I have, and how do I add more" — and hand back a recharge link the person can click without logging in, because their own key is already in it.

Assume the person may not be technical. They came to run a browser or an agent, not to learn about public keys. Do the lookup for them; say the result in plain money.

Step 0: Is connectonion here at all?

bash
co --version
  • It runs → go to Step 1.
  • It does not → this machine has no co yet. Run the install-connectonion skill first (it installs co, and its co init step creates the key this skill needs), then come back here. Do not ask the user to install anything by hand — the install skill does it.

Step 1: The key that identifies this account

The recharge page fills in from the account's public key, and it lives in ~/.co. Read it — never type it, never show its full value in logs:

bash
python3 -c "from connectonion import address; from pathlib import Path; d=address.load(Path.home()/'.co'); print(d['address'] if d else '')"
  • Prints a 0x… address → that is KEY. Keep it.
  • Prints nothing → the account was never created. Run install-connectonion (its co init writes the key), then retry this step. On Windows use py -3 or python.

Step 2: The balance

Ask the API with the stored token — co already has it, so this needs nothing from the user. /auth/me returns balance_usd directly (credits minus what has been spent):

bash
TOKEN=$(python3 -c "from connectonion.cli.commands.project_cmd_lib import load_api_key; print(load_api_key() or '')")
BACKEND=$(python3 -c "from connectonion.backend import backend_url; print(backend_url())")
curl -s "$BACKEND/api/v1/auth/me" -H "Authorization: Bearer $TOKEN"

Read balance_usd from the JSON. (Verified against production: /auth/me gives balance_usd; /api/v1/tokens/balance gives the raw credits_usd and total_spent_usd whose difference is the same number — use /auth/me, it does the subtraction.)

There is no co status --balanceco status only lists credential sources, not the money. The API call above is the read.

Recovery — the token names a different account. If the balance looks wrong or the call is refused, the stored token may predate a key migration. Run co auth once to refresh it, then retry. (This is the openonion/oo-api#67 case — the CLI re-authenticates itself, you just have to let it.)

Step 3: Say it in money, and in hours

Browser time is $0.10/hour. Turn the balance into something a person acts on:

Balance: $BALANCE
That is about $HOURS hours of browser time at $0.10/hour.

HOURS = BALANCE / 0.10. Round down; a partial hour is not a promise. If the balance is zero or low, say it plainly and without alarm — the recharge link is the answer, not a warning.

Step 4: The recharge link, key already in it

Hand over exactly this, with KEY substituted — no login, no re-typing the key:

https://o.openonion.ai/purchase?key=KEY

Tell the person: open it, pick a top-up, pay — the credit lands on this same account and both co and the browser draw from it. One balance, one link.

Set expectations about the page, because it will not match your words otherwise. The purchase page shows fixed top-up packages (currently around $0.99, $19.90, $109.90), and it is worded for API credit — it does not say "browser hours." That is not a wrong page: it is the same credits_usd browser time bills against. Tell the person plainly: the page sells credit in fixed amounts; any of them adds to the one balance, and browser time draws from it at $0.10/hour. Do not promise an arbitrary-amount field the page does not have.

The plain-language summary

Close with the money facts and nothing else — no key value, no token, no table:

  💰  Balance:        $12.40   (~124 hours of browser time at $0.10/h)
  🔗  Add credit:     https://o.openonion.ai/purchase?key=0x10e6…5508

Adjust: balance is healthy → one calm line, still offer the link for later. Balance is empty → lead with the link, "add any amount to start." No co and the user declined to install → say the top-up needs connectonion and stop; do not fake a balance.

Notes

  • One balance for everything. LLM calls (co/* models), agent email, and browser time all draw from the same credits_usd. Topping up here funds all of them — do not imply a separate "browser wallet."
  • The link needs no account on our side. ?key= is the whole identity the page needs; Stripe returns the credit to that key via webhook. There is nothing to log in to.
  • Never print or store the key's full value beyond the URL the user is meant to click. The summary shows a truncated form (0x10e6…5508); the link is the one place it appears in full.
  • $0.10/hour is the browser rate, single session. Multi-session is an enterprise conversation, not something this skill quotes.
  • The purchase page is live at https://o.openonion.ai/purchase (verified 200). The bare https://openonion.ai/purchase is not the page — always use the o. host.

Frequently asked questions

What does the Topup AI skill do?

Check the OpenOnion balance and open the recharge page with the user's own key pre-filled. Reports the balance in plain money, says how long it lasts at $0.10/hour of browser time, and hands over a purchase link that needs no login — the key is already in it. If connectonion is not installed yet, install it first (install-connectonion). Use when the user says "top up", "add credit", "recharge", "check my balance", "how much do I have left", "充值", or a paid action failed because the balance is empty.

Why use Topup on TypingMind?

Because you install it once and use it with any model. Topup is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Topup in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/openonion/connectonion/tree/main/connectonion/cli/co_ai/skills/builtin/topup. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Topup?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Topup?

As many as you like. As long as a model supports skills, you can use Topup with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Topup AI skill free?

Yes. It is published on GitHub by openonion under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇