Skip to main content
Glama

Buy credits with USDC

billing_topup
Read-onlyIdempotent

Build an unsigned transaction that pays USDC on Sui to tide's treasury for credits ($3 per million credits; 1 USDC buys 333,333). Returns base64 tx_bytes that need no SUI for gas (unless gas: true). Sign them with the paying address and send them, or POST them with the signature to https://api.tide.ad/v1/billing/topup/submit. Credits land on the paying address's account about a second after the transaction is final. With an API key the key's account pays; without one pass address. Free. Example: { usd: "10" }.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "usd": "<usd>"
    },
    "name": "billing_topup"
  }
}

Input Schema

NameRequiredDescriptionDefault
gasNotrue to pay gas in SUI instead of building a gasless transaction.
usdYesUSD of USDC to pay, at least 1, like "10" or "25.50".
addressNoThe paying Sui address, when you have no API key.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/idempotent/non-destructive, but the description supplies what they cannot: gasless by default unless gas: true, the base64 tx_bytes return shape, the roughly one-second credit settlement after finality, and the external submission URL. Constructing-but-not-sending is consistent with readOnlyHint, so there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and pricing, with no filler; every clause carries operational detail. It is a dense single paragraph of semicolon-joined clauses, which is efficient but slightly harder to scan than a short structured list would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema, the description covers return format, gas behavior, auth routing, settlement timing, and a concrete example call. Nothing needed to invoke or follow up on the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema lacks: the $3-per-million rate and 1 USDC = 333,333 conversion clarify the usd unit, and the API-key-versus-address rule explains when address is actually needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Build an unsigned transaction that pays USDC on Sui to tide's treasury for credits' — plus the exact rate. This distinguishes it clearly from generic siblings like build_transaction and from billing_status, since it returns tx_bytes rather than status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the full downstream flow: sign with the paying address and send, or POST to the submit endpoint, and explains the auth fork (API key account pays, otherwise supply address). It stops short of naming when to prefer this over billing_status or withdraw_plan, so it is clear context rather than explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources