Overview
Dimewit runs on Solana, launches on Pump.fun, takes SOL or USDC, and burns through Jupiter.
Models
Models from Claude, ChatGPT, DeepSeek, GLM and Grok.
Only the latest models of each family are offered: the flagship and the newest fast, cheaper tier where the family has one. The exact model ids and their prices come from the live model list below and from /api/models.
Quickstart
Sign in. Open the app and sign one message with your Solana wallet. It moves no funds and lasts 14 days.
Get credits. Top up from $5 in SOL or USDC, or buy cheaper credits from stakers on the credit book.
Use them. Chat in the app, or create an API key and call the API below.
Credits
1 credit buys $1 of AI usage at the listed price: the AI provider’s cost plus our markup. Credits are a balance in Dimewit, not a token. Every credit is backed by a payment we actually received: a top-up, or staker-pool USDC.
Bought credits come from top-ups or the credit book and can only be spent. Earned credits come from staking and can be spent or listed on the book. Spending uses bought credits first. Spending has no extra fee: fees were paid when the credits were made or bought.
A request reserves credits before it is sent, then charges only the verified usage and releases the rest. Each request gets a receipt with the model served, tokens and price.
Top-ups
Pick a dollar amount, minimum $5, and confirm one transaction. You pay the amount plus a product fee of 3%. Staking lowers it:
Pay in SOL or USDC. A SOL quote uses the live SOL/USD price and is valid for about a minute. The payment is one plain transfer that you sign once, and the credits appear as soon as it is final on Solana, usually within a minute.
Credit book
Stakers can sell earned credits below $1. Listings are priced from $0.50 to $0.99 per credit, in steps of $0.01, with at least 5 credits per listing. Listing, repricing and cancelling need no signature.
Buyers pay the ask plus a 5% platform fee, and the payment goes straight to the sellers in one transaction, filling up to 8 listings at once. Example: 100 credits at $0.80 cost $80 to the sellers plus a $4 fee, so $84 buys $100 of usage.
Staking
Stake $DIME in the staking program to earn credits every hour and to lower your top-up fee. Half of every Pump.fun creator fee funds staker rewards, plus the staker share of every product fee. Each hour’s rewards are shared by how much you staked and for how long during that hour, and arrive as earned credits a few minutes after the hour closes, once its record is final on-chain.
Unstaking is instant: your tokens come back in the same transaction, with no waiting period. Unstaking works even while new stakes are paused. Tokens earn only for the time they are staked.
Rewards depend on trading volume and sales. No volume means no rewards, so there is no fixed APY.
Fees and burn
Every fee is split by fixed rules, paid in the same transaction as your payment. The burn wallet buys $DIME and burns it. The rewards wallet becomes hourly staker credits.
The Pump.fun creator-fee split is set once at launch: 50% to the burn wallet and 50% to the staker rewards wallet. On top-ups, 1.5% of the amount always goes to the burn, at every fee tier. The rest of the fee goes 60% to staker rewards and 40% to operations. If nobody is staking in an hour, that hour’s staker rewards carry over to the next hour.
Before the token exists, the burn wallet holds its share and buys $DIME once it launches.
Token
$DIME launches on Pump.fun. The address and buy link appear here as soon as it is out.
Trust
The one program Dimewit uses, what it can and can never do, and what the owner can change is on Contracts. The staking program is not audited and its owner can upgrade it. Read the risk disclosure before you stake.
Use your key
Create a key in the app under API keys. The same key works for chat in the app and in any tool that accepts a custom API address plus key. Every request made with it spends your Dimewit credits, at the same prices and with the same receipts as the app.
Pick a model
Model ids come from the live list, the same one GET /v1/models returns. Pick one and every example below uses it.
Connect a tool
Claude Code talks to the Anthropic-style address. Export these in your shell, then run claude. Claude models suit it best; the other models in the list work too.
export ANTHROPIC_BASE_URL="https://api.dimewit.app"
export ANTHROPIC_AUTH_TOKEN="$DIMEWIT_API_KEY"
export ANTHROPIC_MODEL="<model id from /v1/models>"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="<model id from /v1/models>"
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claudeTo keep it, put the same values in ~/.claude/settings.json, or in .claude/settings.local.json for one project. Never put the key in a settings file you commit.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.dimewit.app",
"ANTHROPIC_AUTH_TOKEN": "psk_your_key",
"ANTHROPIC_MODEL": "<model id from /v1/models>",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "<model id from /v1/models>",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}ANTHROPIC_AUTH_TOKEN sends the key as a Bearer header; ANTHROPIC_API_KEY sends it as x-api-key and works the same. In the VS Code extension, set these under claudeCode.environmentVariables.
MCP server
Give any MCP client your models and credits as tools. The server speaks Streamable HTTP at https://api.dimewit.app/mcp and takes your key as a Bearer header. Tools: list_models, chat (call a model, with an optional max_cost), get_balance and get_usage.
claude mcp add --transport http dimewit https://api.dimewit.app/mcp \
--header "Authorization: Bearer $DIMEWIT_API_KEY"Add --scope user to use it in every project. Check it with /mcp inside Claude Code.
Each chat call is a normal API request: same prices, receipts, caps and rate limits as any other call with that key.
Spend caps
Set caps per key in the app under API keys → Caps: a daily cap, a monthly cap (UTC day and month) and a most-per-request amount. Leave one empty for no cap. Any request can also carry its own ceiling in US dollars:
- Header
x-dimewit-max-cost: 0.05on/v1/chat/completionsor/v1/messages(works from any client that can add headers). - Or a top-level body field
"max_cost": "0.05"(OpenAI SDKs:extra_body; it is removed before the model sees the request).
curl https://api.dimewit.app/v1/chat/completions \
-H "Authorization: Bearer $DIMEWIT_API_KEY" \
-H "x-dimewit-max-cost: 0.05" \
-H "Content-Type: application/json" \
-d '{"model": "<model id from /v1/models>", "messages": [{"role": "user", "content": "Hello"}]}'Before anything is sent, Dimewit holds the most the request could cost. If that is above the ceiling, the output limit is lowered until it fits (the answer carries X-Dimewit-Max-Tokens); if not even the prompt fits, the request is refused with 402 and PS-Q01, and nothing is charged. A spent daily or monthly cap answers 402 with PS-Q02 or PS-Q03 and X-Dimewit-Limit-Reset (seconds until it resets). You are always charged the real usage, never the hold.
Rate limits
Over a limit the API answers 429 in the format you called (error type rate_limit_error) with PS-Q04 or PS-Q05 and a Retry-After header in seconds. Nothing is charged. Successful answers carry x-ratelimit-limit-requests, x-ratelimit-remaining-requests and x-ratelimit-reset-requests (and the anthropic-ratelimit-requests-* equivalents). If the whole service is at capacity you get 503 with PS-Q06 and Retry-After. Claude Code and the official SDKs wait and retry on their own.
GET /v1/balance and GET /v1/usage take the same key and return your spendable credit and this key's caps, spend and recent requests.
Coming soon
Not available yet. Everything above works today with the official OpenAI and Anthropic SDKs, the MCP server and plain HTTP.
- Coming soonTypeScript SDKA typed client for Node, Bun, Deno, edge runtimes and the browser: streaming, both request styles, per-request cost ceilings, balance and usage, with safe retries built in.
- Coming soonSign in with DimewitLet other apps ask your users to sign in and spend their own credits, with a spending limit the user approves.
- Coming soonTools platformTools your models and agents can call, paid from the same credits: web search and page reading, chain reads, code sandboxes, deploys and email.
Keep the key private
- Anyone holding the key can spend your credits. Never paste it in a public repo, chat, screenshot or browser page others can see.
- Store it in an environment variable or a local settings file that is not committed.
- Revoke it anytime in the app under API keys; it stops working at once. Create one key per tool so you can revoke one without the others.
Receipts and retries
Check usage receipts in the app after a request. They record the model served, token counts, price, and charge. Prompt text and generated responses are not stored in the billing receipt.
Keep the X-Request-Id response header. Reusing an idempotency key cannot run the same request twice. Because generated text is not saved for replay, check the receipt instead of expecting a second copy of the answer.
If a connection ends before usage can be verified, its credit reservation stays in place while the request is investigated. Do not send a new request merely to check whether the first one succeeded.
- PS-S03
- AI supply is not connected.
- PS-L01
- There are not enough available credits for the reservation.
- PS-L13
- New AI requests are paused.
- PS-L14
- The request cannot be priced safely.
- PS-L15
- The request is already recorded. Check its receipt.
Data retention
Zero data retention.
We keep the receipt, never the conversation.
- Prompts, files and answers pass through to the model and back. We never write them to a database, a log or a backup.
- A receipt keeps only billing facts: model, token counts, price, charge, time taken, and a one-way fingerprint that stops a retry from being charged twice.
- In-app chats live in your browser tab and are gone when you close it.
Protocol details, with diagrams of every money flow, are on Protocol. Prices per model are on Models, and the credit book on Market.











