---
title: "Credits and limits"
description: "How tools spend credits, how to cap a call with max_credits, and the daily, per-minute and confirmation limits."
url: "https://sellify.ai/docs/developers/credits-and-limits"
---

# Credits and limits

> How tools spend credits, how to cap a call with max_credits, and the daily, per-minute and confirmation limits.

Tools that do paid work spend workspace credits, the same credits you spend in the app. Reading your own data is free. Each tool page in the [MCP tool reference](https://sellify.ai/docs/developers/mcp-tools) shows what the tool costs.

## Cap a call with max\_credits

Every tool that spends credits requires `max_credits`, the most the call may spend. It must be above 0, at most 10,000, and have at most two decimals.

```json
{ "name": "ecom_image_ad_submit", "arguments": { "max_credits": 80 } }
```

The call is refused before any work starts if it could cost more than `max_credits`, or if it would take the key or connection past its daily credit limit. Passing `max_credits` to a free tool is also refused.

## Costs that depend on the request

Some costs depend on the request. Generating five image ads costs more than generating one. A tool page shows a range when that's the case, for example about 15 to 73 credits. Set `max_credits` at the top of the range.

Costs are shown as "about" because Sellify can adjust prices.

## Retry safely with idempotency\_key

Tools that write data accept an optional `idempotency_key`, a string of up to 200 characters that you choose for each intended call. Retrying with the same key returns the first result and charges credits once.

Generate a new key for each new action, and reuse the key only when you retry the same call after a timeout or a failure you couldn't read.

## Daily credit limit

Every key and connection has a daily credit limit. The day resets at midnight UTC. A refused call says how many credits are left and when the limit resets. Call `get_credit_balance` at any time to read the balance, the daily usage and the remaining daily allowance.

| Connection    | Default daily limit | Range               |
| ------------- | ------------------- | ------------------- |
| MCP key       | 500                 | 1 to 10,000         |
| OAuth sign-in | 2,000               | Set when connecting |

## Request limits

Each key or connection can make 60 requests a minute, and a workspace can make 300 requests a minute across all of them. When you go over, Sellify refuses the call and says how many seconds to wait. Wait that long and retry.

Each key or connection can also run up to 100 live Ad Spy searches a day.

## Confirmation for large or permanent actions

Two kinds of call stop and ask for a person's confirmation first:

- A call that can cost more than 50 credits.
- Permanently deleting ads from **Recently deleted**, and deleting an Ad Spy board.

If your client supports it, the server asks the person to confirm through MCP. Otherwise the call fails with the code `mcp_confirmation_required`, a question to show the person, and a `confirmation_token`. Retry the same call with that token only after the person says yes. The token works for 10 minutes and only for the same call.

## Related

[Authentication](https://sellify.ai/docs/developers/authentication) · [Errors](https://sellify.ai/docs/developers/errors) · [Understand credits](https://sellify.ai/docs/credits)
