canonical: https://jentic.com/apis/changenow.io/changenow

# ChangeNOW API

ChangeNOW is an instant cryptocurrency exchange that lets users swap between hundreds of digital assets without creating an account. The v2 API provides programmatic access to the full exchange flow: listing supported currencies and trading pairs, fetching estimated swap amounts, retrieving minimum and range limits for a pair, creating an exchange transaction, and tracking its status by ID. It is commonly used by wallets, portfolio trackers, and crypto-aware agents that need to surface or execute non-custodial swaps.

## For AI agents

Quote and execute non-custodial cryptocurrency swaps across hundreds of trading pairs without requiring user registration. Useful for wallets, bots, and agents that need to convert between digital assets on demand.

## Scope

Does not handle custody, fiat banking rails, leveraged trading, or order books - use for non-custodial crypto-to-crypto swaps only.

## Capabilities

- List every supported cryptocurrency and fiat with availability flags via `/exchange/currencies` and `/fiat-currencies/fiat`
- Quote an estimated receive amount for a swap pair before the user commits with `/exchange/estimated-amount`
- Fetch the minimum exchange amount for a specific from/to pair using `/exchange/min-amount`
- Retrieve the supported send-amount range for a pair to validate user input via `/exchange/range`
- Create a non-custodial exchange transaction with payout address and refund address through POST /exchange
- Track the lifecycle of a swap (waiting, confirming, exchanging, sending, finished) by transaction ID with `/exchange/by-id`
- List all currently available trading pairs from `/exchange/market-info/available-pairs`

## Use cases

### In-Wallet Crypto Swaps

Non-custodial wallets can offer in-app token swaps without holding user funds by integrating the ChangeNOW exchange flow. The wallet quotes a rate via `/exchange/estimated-amount`, validates limits via `/exchange/range`, and creates the swap with POST /exchange. Users send funds to the returned deposit address and ChangeNOW handles the conversion and payout to the user's destination wallet.

Example prompt: Quote a swap of 0.05 BTC to ETH, create the exchange with the user's ETH payout address, and return the BTC deposit address to the wallet UI

### Portfolio Rebalancing Bots

Trading bots and portfolio managers can rebalance cross-chain holdings by chaining quotes and exchanges through the ChangeNOW API. The bot pulls `/exchange/estimated-amount` for each leg, validates against `/exchange/min-amount` and `/exchange/range`, then submits POST /exchange transactions for assets that need to be reallocated. Status polling via `/exchange/by-id` confirms completion before the next leg fires.

Example prompt: Quote SOL to USDT and ETH to USDT, create both exchanges if estimates clear thresholds, and poll `/exchange/by-id` until both finish

### Price Comparison and Quote Aggregation

Aggregator sites and Telegram or Discord bots show users the best available rate across exchanges. Pulling `/exchange/estimated-amount` and `/exchange/currencies` from ChangeNOW gives a no-KYC quote that can be compared against other venues. The `/exchange/market-info/available-pairs` endpoint helps the aggregator pre-filter pairs that ChangeNOW actually supports.

Example prompt: Fetch estimated-amount for 1 ETH to USDT from ChangeNOW and surface the rate alongside other quoted venues for the user

### Agent-Driven Crypto Conversions via Jentic

An AI agent given an instruction like 'swap 200 dollars worth of LTC to BTC' can resolve the entire flow through Jentic. It searches for the swap operation, pulls a fresh estimate, creates the exchange transaction, and returns the deposit address - all without seeing the API key. Jentic's your Jentic One instance keeps the ChangeNOW credential isolated.

Example prompt: Search Jentic for 'create a cryptocurrency exchange', estimate LTC to BTC, and create the swap with the user's BTC payout address

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/exchange/currencies` | List all supported cryptocurrencies |
| GET | `/exchange/estimated-amount` | Quote an estimated receive amount for a swap pair |
| GET | `/exchange/min-amount` | Get the minimum send amount for a pair |
| GET | `/exchange/range` | Get the supported send-amount range for a pair |
| POST | `/exchange` | Create a non-custodial exchange transaction |
| GET | `/exchange/by-id` | Look up exchange status and details by ID |
| GET | `/exchange/market-info/available-pairs` | List all currently tradable pairs |

## Key resources

- **Currencies** — List supported crypto and fiat currencies, including network-level availability flags
- **Estimates and Limits** — Quote estimated receive amounts, minimum send amounts, and supported send ranges per trading pair
- **Exchanges** — Create non-custodial swap transactions and track them through their lifecycle by ID
- **Market Info** — Discover available trading pairs across the platform

## Why Jentic

- **Setup:** Wiring ChangeNOW by hand means learning its x-changenow-api-key header auth, targeting the v2 host, and attaching the key to every quote and swap call yourself. Through Jentic you install once, import ChangeNOW from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** ChangeNOW quotes and creates swaps through flat operation paths rather than a per-resource URL, so limit the agent to the operations it needs, such as estimating an amount and creating an exchange. You choose which operations it may call, so anything beyond quoting and non-custodial swaps is not included unless you add it.
- **Credential handling:** Your ChangeNOW API key is stored once, encrypted, by your own Jentic One instance and injected into the x-changenow-api-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'swap one cryptocurrency for another' or 'quote a crypto exchange rate', and Jentic returns the matching ChangeNOW operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Kraken API** — Kraken offers full-custody centralized exchange trading; ChangeNOW is non-custodial and account-free.
- **Binance API** — Binance is a full-feature exchange with custody; ChangeNOW is a non-custodial swap aggregator.
- **CoinGecko API** — CoinGecko provides reference prices and market data; ChangeNOW executes the actual swap.

## FAQ

### What authentication does the ChangeNOW API use?

ChangeNOW uses an API key passed in the x-changenow-api-key header. When called through Jentic, the key is held in your Jentic One instance and the agent receives a scoped execution token rather than the raw key.

### Can I create a swap without registering users on ChangeNOW?

Yes. ChangeNOW is fully non-custodial and does not require user accounts. POST /exchange takes the from/to currencies, send amount, and the user's payout address; ChangeNOW returns a deposit address that the user funds, and the swap completes automatically.

### How do I quote an exchange rate before creating a transaction?

Call GET `/exchange/estimated-amount` with the from/to currencies and the send amount. The response includes the expected receive amount and helps your UI show the user a quote. Always re-validate with `/exchange/min-amount` and `/exchange/range` before submission.

### What are the rate limits for the ChangeNOW API?

ChangeNOW does not publish a single fixed rate limit; production limits scale with your partner key. Implement backoff on HTTP 429 responses and cache the `/exchange/currencies` and `/exchange/market-info/available-pairs` lookups since they change rarely.

### How do I track the status of a swap through Jentic?

After creating the exchange, call GET `/exchange/by-id` with the transaction ID. Through Jentic, search for 'check exchange status', load the schema, and execute. Run Jentic One, the self-hosted execution layer, for an agent API key.

### Does ChangeNOW support fiat-to-crypto conversions?

The v2 API exposes a `/fiat-currencies/fiat` endpoint listing supported fiat options. Fiat purchase flows are handled by ChangeNOW's partner providers; the core /exchange operations remain crypto-to-crypto and require an existing crypto deposit.

### Can I limit what my agent is allowed to do with the ChangeNOW API?

Yes. ChangeNOW exposes flat operation paths rather than per-resource URLs, so with your self-hosted Jentic One instance you decide which of its operations the agent may call and which credential it uses. You can allow only the calls you need, such as GET `/exchange/estimated-amount` to quote a rate and POST /exchange to create a non-custodial swap, while withholding others. Anything beyond the operations you grant, including creating exchanges, is not available to the agent unless your own rules permit it.
