Agent skill

Venice Billing

by veniceai in veniceai/skills

Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by…

MITAuto-check passedData & Analytics

Install Venice Billing

skills CLI
$ npx skills add veniceai/skills --skill venice-billing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install veniceai/skills venice-billing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/veniceai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/venice-billing .claude/skills/venice-billing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
venice-billing
GitHub stars
144
Token cost
~3.6k tokens
SKILL.md length
1,350 words
Files
1
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by…

  • Works in 4 steps: DIEM — from staked DIEM; the allocation… → EARNED_CREDITS — USD-denominated earned… → BUNDLED_CREDITS — USD-denominated… → …
  • Tasks that involve Product analytics
  • SKILL.md covers Currency / priority, GET /billing/balance, GET /billing/usage-history and GET /billing/usage-analytics, plus 3 more sections
  • Calls curl; reaches api.venice.ai and docs.venice.ai; needs VENICE_ADMIN_KEY

What it does

Venice Billing is an agent skill from veniceai/skills. Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by date/model/key). All require an ADMIN key. GET /billing/usage was sunset on 2026-09-16 and now always returns 410. Covers the DIEM/EARNEDCREDITS/BUNDLEDCREDITS/USD consumption priority and building dashboards. (Beta)

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Product analytics and CSV and tabular files. It works with x402. The repository describes itself as: Agent Skills for the Venice.ai API. One folder per surface area, each with a SKILL.md for agent runtimes (Cursor, Claude, Codex, etc.). The licence is MIT.

When your agent uses it

  • Tasks that involve Product analytics
  • Tasks that involve CSV and tabular files

Example prompts

  • “/venice-billing”

Requirements

  • A credential in VENICE_ADMIN_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. DIEM — from staked DIEM; the allocation resets every epoch (UTC day).
  2. EARNED_CREDITS — USD-denominated earned credits.
  3. BUNDLED_CREDITS — USD-denominated credits included with paid Venice subscription plans.
  4. USD — prepaid fiat balance.

What it can do on your machine

Read from SKILL.md and the folder at commit 5eaeac5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.venice.ai
    • docs.venice.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • VENICE_ADMIN_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Venice Billing loads about 3.6k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,350 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~105
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from veniceai/skills at commit 5eaeac5, republished under its MIT licence (© veniceai). 1,350 words, ~3,556 tokens.

Download SKILL.mdSave it as .claude/skills/venice-billing/SKILL.md (or your agent's skills folder).
name
venice-billing
description
Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by date/model/key). All require an ADMIN key. GET /billing/usage was sunset on 2026-09-16 and now always returns 410. Covers the DIEM/EARNED_CREDITS/BUNDLED_CREDITS/USD consumption priority and building dashboards. (Beta)

Venice Billing

Read-only endpoints for account-level billing and analytics. usage-analytics is tagged Beta in the spec — its schema/behavior may change.

EndpointPurpose
GET /billing/balanceCurrent canConsume flag, remaining DIEM, earned credits, bundled credits and USD, epoch allocation.
GET /billing/usage-historyPer-request ledger with keyset (cursor) pagination. JSON or CSV.
GET /billing/usage-analyticsAggregated breakdowns: by date, model, API key.
GET /billing/usageRetired. Sunset 2026-09-16; every request returns 410.

All three live endpoints require Bearer auth with an ADMIN key — an INFERENCE key gets 401 ("Admin API key required"). They do not accept x402 wallet auth; for wallet balances use venice-x402. A request with no Authorization header at all gets a 402 x402 discovery body rather than a 401 — ignore its payment options and send an ADMIN Bearer key; a bad key gets 401.

GET /billing/usage is gone. Since 2026-09-16 it returns 410 Gone to every request, authenticated or not, with no usage data. The body's error string names the replacement and the parameter renames, and the response carries Deprecation: @1783555200, Sunset: Wed, 16 Sep 2026 00:00:00 GMT, and Link: </api/v1/billing/usage-history>; rel="successor-version", <https://docs.venice.ai/api-reference/endpoint/billing/usage-history>; rel="deprecation"; type="text/html". The route is rate limited to 60 requests/minute per IP (then 429, whose message repeats the migration pointer). Migrate to GET /billing/usage-history: page + limit → pageSize + nextCursor, startDate / endDate → startTimestamp / endTimestamp.

Currency / priority

Each request is charged to a single currency, picked in this order:

  1. DIEM — from staked DIEM; the allocation resets every epoch (UTC day).
  2. EARNED_CREDITS — USD-denominated earned credits.
  3. BUNDLED_CREDITS — USD-denominated credits included with paid Venice subscription plans.
  4. USD — prepaid fiat balance.

Prepaid (quoted) charges such as queued jobs and images use the first currency that covers the whole cost. Token-priced requests are billed after they run, to the first currency with a positive balance, which can leave it slightly negative.

Legacy VCU (the old name for DIEM) is no longer a consumable currency; it is rejected by /billing/usage-history's currency filter.

A per-key USD consumption limit covers USD, BUNDLED_CREDITS and EARNED_CREDITS together; a DIEM limit covers DIEM (see venice-api-keys).

GET /billing/balance

bash
curl https://api.venice.ai/api/v1/billing/balance \
  -H "Authorization: Bearer $VENICE_ADMIN_KEY"
json
{
  "canConsume": true,
  "consumptionCurrency": "DIEM",
  "balances": { "diem": 90.5, "usd": 25, "bundledCredits": 10, "earnedCredits": null },
  "diemEpochAllocation": 100
}
  • canConsume is true when the account's spendable DIEM, earned credits, bundled credits and USD total at least $0.10. It does not account for per-key limits or the account's API tier — the real admission check runs on each inference request. Use GET /api_keys/rate_limits → accessPermitted for a check that includes those.
  • consumptionCurrency is the first currency with a positive balance, in the order DIEM, EARNED_CREDITS, BUNDLED_CREDITS, USD, or null. The spec enum also lists VCU, but it is never returned.
  • balances.diem is null when the account isn't staking DIEM; otherwise the remaining DIEM this epoch.
  • balances.usd, balances.bundledCredits and balances.earnedCredits are null when not positive.
  • diemEpochAllocation is the total DIEM for the current epoch — balances.diem / diemEpochAllocation = remaining fraction.

GET /billing/usage-history

Per-request ledger with keyset (cursor) pagination, in ascending timestamp order.

bash
curl "https://api.venice.ai/api/v1/billing/usage-history?startTimestamp=2026-06-01T00:00:00Z&endTimestamp=2026-07-01T00:00:00Z&pageSize=1000&currency=USD" \
  -H "Authorization: Bearer $VENICE_ADMIN_KEY" \
  -H "Accept: application/json"
Query parameters

A request is either a filtered first page or a bare continuation. Sending cursor alongside any filter is a 400, and so is any unknown parameter — the validator is strict.

ParamNotes
startTimestampOptional. Inclusive lower bound, ISO 8601 UTC with a Z suffix (max 40 chars). First page only.
endTimestampOptional. Exclusive upper bound, same format. Must be later than startTimestamp. Consecutive windows that share a boundary walk the history with no gaps and no overlaps.
currencyOptional. USD / DIEM / BUNDLED_CREDITS / EARNED_CREDITS.
pageSizeInteger 10–1000. Default 1000.
cursorOpaque continuation token ([A-Za-z0-9_-], ≤ 512 chars) from a previous nextCursor. Carries the filters and page size of the walk it continues, so send it alone.

A cursor that is expired, tampered with, or was issued to another user returns 400 ("Invalid or expired cursor; restart from the first page"). Page contents stay stable while new usage is recorded; no result totals are reported.

Response (JSON)
json
{
  "data": [
    {
      "timestamp": "2026-06-15T19:05:10.504Z",
      "sku": "zai-org-glm-5-1-llm-output-mtoken",
      "units": 0.000227,
      "pricePerUnitUsd": 2.8,
      "amount": -0.06356,
      "currency": "DIEM",
      "notes": "API Inference",
      "inferenceDetails": {
        "requestId": "chatcmpl-4007fd29f42b7d3c4107f4345e8d174a",
        "promptTokens": 339,
        "completionTokens": 227,
        "inferenceExecutionTime": 2964
      }
    }
  ],
  "nextCursor": "AZq3fK9tXhIVDm2j4vN8cQwYt1sB6uEoLxRgPzKaJdHfM5nC7yW0K3w"
}

nextCursor is null on the last page.

Fields
  • sku — billing line item (model + unit type + format).
  • units — for LLMs, millions of tokens (e.g. 0.000227 = 227 tokens).
  • pricePerUnitUsd — rate per unit in USD.
  • amount — negative for a debit.
  • currency — USD, DIEM, BUNDLED_CREDITS, or EARNED_CREDITS.
  • inferenceDetails — null for non-inference entries. When present, requestId is the id returned on the original response; promptTokens, completionTokens, and inferenceExecutionTime (ms) are each nullable when not recorded (tokens are null for non-LLM usage).
CSV

Send Accept: text/csv. Columns: timestamp, sku, pricePerUnitUsd, units, amount, currency, notes, inferenceDetails.requestId, inferenceDetails.inferenceExecutionTime, inferenceDetails.promptTokens, inferenceDetails.completionTokens. Content-Disposition is attachment; filename=billing-usage-history-<UTC export stamp>.csv, so each page of a walk downloads under a unique, sort-ordered name. Because CSV has no envelope, the continuation token moves to the x-next-cursor response header, which is absent on the last page.

Walking the full history
ts
let url = `${base}/billing/usage-history?startTimestamp=${start}&endTimestamp=${end}`
for (;;) {
  const page = await fetch(url, { headers }).then(r => r.json())
  handle(page.data)
  if (page.nextCursor === null) break
  url = `${base}/billing/usage-history?cursor=${encodeURIComponent(page.nextCursor)}`
}

GET /billing/usage-analytics

Aggregated summary for dashboards. Cached 10 minutes per user + period.

bash
curl "https://api.venice.ai/api/v1/billing/usage-analytics?lookback=7d" \
  -H "Authorization: Bearer $VENICE_ADMIN_KEY"
Query parameters (choose one approach)
  • lookback=Nd — must match ^[1-9]\d*d$. Default 7d. Values above 90d are clamped to 90 days (the response lookback then reads "90d").
  • OR startDate=YYYY-MM-DD and endDate=YYYY-MM-DD (inclusive, UTC days). The range may span at most 90 days and endDate must not be before startDate. Send both: if only one is given it is ignored and lookback applies.
Show full SKILL.md (523 more words)Show less
Response (selected keys)
json
{
  "lookback": "7d",
  "byDate": [{ "date": "2026-04-20", "USD": 0.5, "DIEM": 10.25 }],
  "byModel": [
    {
      "modelName": "GLM 5.1",
      "unitType": "tokens",
      "modelType": "LLM",
      "totalUsd": 0.4,
      "totalDiem": 12.5,
      "totalUnits": 50000,
      "breakdown": [
        { "type": "Output", "usd": 0.3, "diem": 10, "units": 35000 },
        { "type": "Input",  "usd": 0.1, "diem": 2.5, "units": 15000 }
      ]
    }
  ],
  "byModelDaily": [{ "date": 1705276800000, "GLM 5.1": 5.5, "Kimi K2.6": 3.2 }],
  "byModelDailyUsd": [{ "date": 1705276800000, "GLM 5.1": 0.4, "Kimi K2.6": 0 }],
  "topModels": ["GLM 5.1", "Kimi K2.6"],
  "byKey": [
    { "apiKeyId": "key_abc123", "description": "Production Key",
      "totalUsd": 0.8, "totalDiem": 15, "totalUnits": 75000 },
    { "apiKeyId": null, "description": "Web App",
      "totalUsd": 0, "totalDiem": 4, "totalUnits": 25000 }
  ],
  "byKeyDaily": [{ "date": 1705276800000, "Production Key": 8.5, "Web App": 2 }],
  "byKeyDailyUsd": [{ "date": 1705276800000, "Production Key": 0.8, "Web App": 0 }],
  "topKeyNames": ["Production Key", "Web App"]
}
  • byDate has one entry per day in the window (ascending, zero-filled). USD totals include BUNDLED_CREDITS but not EARNED_CREDITS: spend paid from earned credits is left out of every analytics total.
  • byModel / byKey list every model and key, sorted by total spend (USD + DIEM). breakdown (Input / Output / Cache Read / Cache Write …) is present only when a model has more than one token type.
  • byModelDaily / byKeyDaily are chart rows: date (Unix ms) plus one field per series with USD + DIEM combined. byModelDailyUsd / byKeyDailyUsd are the same rows with only the USD (incl. bundled credits) portion. These two *Usd arrays are returned but not yet in the published schema.
  • topModels / topKeyNames are the charted series: the top 50 by spend, plus a trailing "Other" series that sums everything past 50 (only when there are more than 50). The spec text still says "top 8"; the API returns 50.
  • apiKeyId: null / description: "Web App" is usage from the Venice web app. Keys without a description show as Key ...<last 6 of id>; duplicate descriptions get a (...<last 6 of id>) suffix so series don't collide.
  • Credit purchases are excluded; only debits are aggregated.

Recipes

Abort before calling inference if the account is empty

/billing/balance's canConsume ignores per-key limits and the account's API tier, so gate on accessPermitted from GET /api_keys/rate_limits instead (works with the key you are about to use, including INFERENCE keys):

ts
const { data } = await fetch(`${base}/api_keys/rate_limits`, { headers }).then(r => r.json())
if (!data.accessPermitted) throw new Error('Venice balance exhausted — top up before continuing')
Monthly CSV export
bash
curl -D headers.txt "https://api.venice.ai/api/v1/billing/usage-history?startTimestamp=2026-04-01T00:00:00Z&endTimestamp=2026-05-01T00:00:00Z&pageSize=1000" \
  -H "Authorization: Bearer $VENICE_ADMIN_KEY" \
  -H "Accept: text/csv" \
  -o billing-april-001.csv

Read x-next-cursor from headers.txt and re-request with ?cursor=<token> (and no other parameters) until the header is absent.

Top-models chart
ts
const a = await fetch(`${base}/billing/usage-analytics?lookback=30d`, { headers }).then(r => r.json())
// chart(a.byModelDaily, { series: a.topModels, xField: 'date' })

Errors

CodeMeaning
400/billing/usage-history: a cursor sent with any filter, an unknown parameter, a malformed timestamp, pageSize outside 10–1000, endTimestamp not later than startTimestamp, or an invalid/expired cursor. /billing/usage-analytics: malformed lookback / date, endDate before startDate, or a calendar range over 90 days (lookback over 90d is clamped, not rejected).
401Invalid key, or a non-ADMIN key on any billing endpoint.
402No Authorization header at all — the x402 auth challenge.
410/billing/usage — always. Sunset 2026-09-16.
429/billing/usage over 60 requests/min per IP; or the generic API error budget.
500Internal error.
504/billing/usage-analytics query timed out — shorten lookback or the date range.

Gotchas

  • Every billing endpoint needs an ADMIN key, including usage-analytics (older docs said any key worked — that changed on 2026-07-21).
  • Don't call /billing/usage at all. It returns no data; treat any 410 from it as "migrate now".
  • /billing/usage-history takes startTimestamp / endTimestamp (full ISO datetimes with Z) and pageSize; /billing/usage-analytics takes lookback or startDate / endDate as plain YYYY-MM-DD dates. Don't mix the formats.
  • VCU is not accepted by /billing/usage-history's currency filter; use DIEM.
  • inferenceDetails is null for non-inference entries (e.g. subscription charges).
  • One inference request can appear as several ledger rows (e.g. separate input and output token SKUs) that repeat the same inferenceDetails. Sum amount across rows, but dedupe by requestId before summing token counts.
  • The analytics endpoint is cached 10 min — sudden spikes lag in the dashboard by that window.
  • byModelDaily.date is a Unix milliseconds integer; byDate.date is a YYYY-MM-DD string.
  • Usage from the Venice web app has apiKeyId: null — don't drop it when reconciling.
  • For x402 (wallet) balance, don't use these endpoints — use GET /x402/balance/{walletAddress}.

© veniceai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/venice-billing of veniceai/skills.

Open the folder on GitHubat commit 5eaeac5

Compare with similar skills

Venice Billing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Venice Billing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Venice Billing this skillveniceai/skills144—~3.6kAutomated safety check: PassMIT
Almost Paidnestyme/awesome-prompts151—~3.9kAutomated safety check: PassNone
Education Cloud Course Catalog Migrateforcedotcom/sf-skills1.1k—~5.4kAutomated safety check: PassApache-2.0
Excel and CSV Data Analysisbytedance/deer-flow84k4 repos~2.2kAutomated safety check: PassMIT
CSV Data Summarizercoffeefuelbump/csv-data-summarizer-claude-skill4682 repos~1.4kAutomated safety check: PassNone
Exploratory Data AnalysisOleafly/Oleafly2122 repos~3.4kAutomated safety check: NotesMIT

Similar skills

  • Almost Paid

    nestyme/awesome-prompts

    Find the users who almost paid — saw the paywall, started checkout, ran out of free credits, let a trial lapse — size what they are worth, and turn them into a one-screen dashboard with a…

    151 GitHub stars~3.9k tokensUpdated 10 days ago
    Data & AnalyticsAuto-check passed
  • A skill your agent uses to migrate course catalog data from external sources (CSV, PDF, website) and bulk-create Learning and LearningCourse records in Education Cloud.

    1.1k GitHub stars~5.4k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Excel and CSV Data Analysis

    bytedance/deer-flow

    Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.

    84k GitHub starsUsed in 4 repos~2.2k tokens
    Data & AnalyticsAuto-check passed
  • CSV Data Summarizer

    coffeefuelbump/csv-data-summarizer-claude-skill

    Analyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas.

    468 GitHub starsUsed in 2 repos~1.4k tokens
    Data & AnalyticsAuto-check passed
  • Perform bounded, local exploratory analysis of explicitly supported scientific files.

    212 GitHub starsUsed in 2 repos~3.4k tokens
    Data & AnalyticsAuto-check: notes
  • Raccoon Dataanalysis

    SenseTime-Copilot/raccoon-dataanalysis-skill

    Raccoon (小浣熊) Data Analysis - Remote code interpreter and data visualization service powered by SenseTime.

    137 GitHub stars~1.9k tokensUpdated 6 mo ago
    Data & AnalyticsAuto-check passed

More from veniceai/skills

All 22 skills in this repo
  • Picks which Venice text model to call for a prompt based on privacy tier, input modality, capabilities and cost, and decides when to escalate from a local agent.

    144 GitHub stars~5.2k tokensUpdated 5 days ago
    Auto-check passed
  • Venice Models API

    veniceai/skills

    Documents Venice's model discovery endpoints, GET /models, /models/traits and /models/compatibility_mapping, so an agent can pick a model by capability, constraint or price.

    144 GitHub stars~4.3k tokensUpdated 5 days ago
    Auto-check passed
  • Venice API Keys

    veniceai/skills

    Manages Venice API keys through the /api_keys endpoints: create, list, update and revoke keys, set spending limits, and read rate limits.

    144 GitHub stars~3.8k tokensUpdated 5 days ago
    Auto-check passed
  • Venice API Overview

    veniceai/skills

    High-level map of the Venice.ai API: base URL, auth modes per endpoint, endpoint categories, response headers, pricing model, error shape and versioning.

    144 GitHub stars~3.5k tokensUpdated 5 days ago
    Auto-check passed
  • Venice Audio Music

    veniceai/skills

    Async music, sound-effect and long-form voice generation via Venice.

    144 GitHub stars~3.1k tokensUpdated 5 days ago
    Auto-check passed
  • Venice Audio Speech

    veniceai/skills

    Generate speech from text via POST /audio/speech, and clone a voice via POST /audio/voices.

    144 GitHub stars~3.6k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Venice Billing

What does Venice Billing do?

Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by…. Venice Billing is an agent skill from veniceai/skills. Venice billing and usage analytics - GET /billing/balance, GET /billing/usage-history (keyset-paginated per-request ledger, JSON or CSV), and GET /billing/usage-analytics (aggregated by date/model/key).

When should I use Venice Billing?

Venice Billing fits situations like: tasks that involve Product analytics; tasks that involve CSV and tabular files.

How do I install Venice Billing in Claude Code?

Run `npx skills add veniceai/skills --skill venice-billing -a claude-code`. Or copy the skill folder (skills/venice-billing in veniceai/skills) into .claude/skills/venice-billing in your project. Claude Code loads it when a task matches its description.

How do I install Venice Billing in Codex?

Run `npx skills add veniceai/skills --skill venice-billing -a codex`. Or copy the skill folder (skills/venice-billing in veniceai/skills) into .agents/skills/venice-billing in your project. Codex loads it when a task matches its description.

Can I use Venice Billing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add veniceai/skills --skill venice-billing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/venice-billing, .gemini/skills/venice-billing, .github/skills/venice-billing and .opencode/skills/venice-billing in your project.

What does Venice Billing need to run?

Going by SKILL.md and its folder, Venice Billing needs the command-line tools its instructions call (curl) and credentials named VENICE_ADMIN_KEY. Our summary lists: A credential in VENICE_ADMIN_KEY.

Does Venice Billing access the network?

SKILL.md names 2 domains. In commands or code: api.venice.ai and docs.venice.ai; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Venice Billing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Venice Billing use?

Venice Billing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Venice Billing use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Venice Billing?

Skills that share tags, products or a category with Venice Billing: Almost Paid (nestyme/awesome-prompts, 151 stars), Education Cloud Course Catalog Migrate (forcedotcom/sf-skills, 1.1k stars), Excel and CSV Data Analysis (bytedance/deer-flow, 84k stars) and CSV Data Summarizer (coffeefuelbump/csv-data-summarizer-claude-skill, 468 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Venice Billing?

veniceai (a GitHub organization) maintains it in veniceai/skills, which has 144 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 5, 2026.

Source: veniceai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.