Overview

Pricing and Wallet

What connected accounts cost, when a payment method is needed, and how the wallet pays for X actions.

You pay for two things. Each connected account past the first 2 is billed by the day, on every platform. Actions on X are paid from a prepaid wallet, because X charges for every API call. Nothing else is billed. Posts, media, webhooks, analytics on other platforms and API requests are included.

WhatHow it is billedPaid with
Connected accountsBy the day, past the 2 free accountsYour payment method
X actionsPer action, at X's list pricesYour wallet balance

Free Accounts

Every workspace gets 2 connected accounts for free, on any platforms. You need no payment method for them, and they stay free when you add more accounts.

Account Pricing

Each account past the free 2 is billed in tiers. The price is per account for 30 days, and each tier only prices the accounts that fall in it.

Connected accountsPrice per account per 30 days
1 to 2Free
3 to 10$5
11 to 100$3
101 and more$1

For example, 12 connected accounts cost 8 × $5 plus 2 × $3, which is $46 for 30 days. 150 accounts cost $40 plus $270 plus $50, which is $360.

RuleDetail
Billed by the dayEach day costs a 30th of the monthly price, for the most accounts connected that UTC day
Disconnected accountsThey stop counting from the next UTC day
ReconnectsA reconnect never adds a billed account
InvoicesUnder Settings → Billing in the dashboard
Deleting the workspaceThe usage so far is charged first. If that charge fails, the workspace stays

Only the workspace owner can see invoices and change the payment method.

Charges

Your card is charged during a billing period as the usage grows, and once more when it ends.

ChargeWhen
First chargeThe usage of the billing period reaches $10
Each later chargeThe new usage reaches twice the previous charge, up to $5,120
Final chargeThe 30-day period ends. It covers whatever is left

Payment Method

You need a payment method before you connect your 3rd account. Add it in the dashboard under Settings → Billing. Without one, a connect past the 2 free accounts goes like this.

CaseResult
Starting a connect402 USAGE_BILLING_REQUIRED, before the user signs in
More accounts than free slotsThe free slots fill. The redirect has skipped, the number left out
No account fitsThe redirect has error=USAGE_BILLING_REQUIRED
Billing failsThe account is not added. 402 USAGE_BILLING_FAILED, or the same error on the redirect

Starting a connect means POST /v1/connect-sessions, or POST /v1/accounts for Bluesky. When billing fails after the sign-in, you may receive account.connected followed by account.disconnected. See Redirect Errors for the browser part of a connect.

Billing Blocks

A workspace is blocked when it has 3 or more accounts and no payment method, or when an invoice stays unpaid after every payment attempt. While a payment is still being collected, everything keeps working. Fix both under Settings → Billing.

CodeWhenWhat to do
PAYMENT_METHOD_REQUIRED3 or more accounts and no payment methodAdd a payment method
PAYMENT_PAST_DUEAn invoice is unpaid after every payment attemptUpdate the payment method and pay the invoice

While the workspace is blocked, this is what you observe.

AreaDuring the blockAfter billing is fixed
API requestsEvery API-key request returns 402, reads includedRequests work again
MCP serverEvery request returns 402, so no tool runsTools work again
Scheduled postsThey stay scheduled and do not publishPosts that came due publish
AnalyticsMetrics stop updatingMetrics update again
DashboardYou can sign in, see accounts, posts and logs, and fix billingEverything works again

X Wallet

X charges for every API call, so actions on X accounts are paid from your prepaid Onepostly wallet. Other platforms never use the wallet.

X Prices

The wallet pays X's list prices. When X changes its prices, the wallet follows. These are the current prices.

ActionPrice
Publish a post, reply or quote$0.015
Publish one with a URL in its text$0.20
Like, repost or bookmark$0.015
Unlike, undo a repost or remove a bookmark$0.01
Delete a post or reply$0.01 per post
Read post analytics$0.005 per post, at most once per UTC day
List replies or reposters$0.005 per page

When You Are Charged

Every X action is checked against the balance when you send the request, and charged when it runs.

CaseWhat happens
The balance is too low402 INSUFFICIENT_WALLET. Nothing is created or changed
A create with several X accountsIt is priced for all of them together
A scheduled postChecked when you create it, charged at its scheduled time
Too low at the scheduled timeThe post ends failed with INSUFFICIENT_WALLET
An edit of an X post's text or threadChecked again when you send it
A threadCharged per post. Deleting it is charged per post too
X does not complete the actionThe amount goes back to the wallet
A thread fails partwayThe posts that went live stay charged
Post analyticsRead when you ask, at most once per post and UTC day. Only that read is charged
A repeated like, repost or bookmarkCharged every time
Listing recent posts or syncingFree

After INSUFFICIENT_WALLET, top up and send the request again.

Check the Balance

GET /v1/wallet returns the balance in US dollars. Any API key can call it, including a read_only key.

import { Configuration, WalletApi } from "@onepostly/sdk";

const walletApi = new WalletApi(
  new Configuration({ accessToken: process.env.ONEPOSTLY_API_KEY })
);

const response = await walletApi.getWalletBalance();
console.log(response);
{
  "balance": "12.345",
  "currency": "usd"
}

balance is a decimal string with three decimal places, such as "0.015" for 1.5 cents. The MCP server has the same call as the wallet_get tool.

Top Up

The workspace owner tops up in the dashboard under Settings → Wallet, with a card. Every member of the workspace can see the balance and the top-up history there.

Errors

CodeHTTPCauseFix
PAYMENT_METHOD_REQUIRED402The workspace has 3 or more accounts and no payment methodAdd a payment method
PAYMENT_PAST_DUE402An invoice is unpaid after every payment attemptUpdate the payment method and pay
USAGE_BILLING_REQUIRED402A connect past the 2 free accounts, with no payment methodAdd a payment method, then connect again
USAGE_BILLING_FAILED402Billing for the new account failed, so it was not addedCheck the payment method, then connect again
INSUFFICIENT_WALLET402The wallet cannot pay for an X actionTop up, then retry

A scheduled X post the wallet cannot cover fails with INSUFFICIENT_WALLET. See Errors.