About mcp-transak
mcp-transak is an MCP server for Transak, a fiat-to-crypto on and off-ramp covering about 170 countries and multiple chains. It targets developers and agents that create and track orders server-to-server through the Partner API. It also exposes quotes, limits, and webhook signature checks.
Key features
- 01Create, get, update, and cancel orders via Partner API
- 02Fetch quotes and min/max limits per fiat, crypto, and country
- 03List supported fiat currencies, crypto assets, payment methods, and countries
- 04Query network fees, partner balances, and buyer KYC status
- 05Verify Transak webhook HMAC-SHA256 signatures locally
Use cases
- 01Compare quotes from Transak and another provider before choosing a route
- 02Track buyer order status and reconcile through webhooks
- 03Check transaction limits and KYC status for a country or buyer
MCP support
This is an MCP server that exposes 18 tools to MCP clients for calling Transak Partner API order, quote, and account endpoints.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-transakTRANSAK_API_KEYSecretTransak partner API key (from partner dashboard). Used as partnerApiKey query param on public quote endpoint and bundled with api-secret to mint the access-token for Partner API calls.TRANSAK_API_SECRETSecretTransak partner API secret. Sent as the api-secret header to endpoints that require server-to-server authentication (and used to mint access tokens for order endpoints).TRANSAK_ENVEnvironment selector: 'staging' (default) targets https://api-stg.transak.com; 'production' targets https://api.transak.com.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
18Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Buyer email (used for KYC + receipt) | |
| network | string | Yes | Blockchain network (ethereum, polygon, bsc, solana, bitcoin, arbitrum, optimism, base, etc) |
| fiatAmount | number | No | Fiat amount in major units. Either fiatAmount or cryptoAmount must be set. |
| themeColor | string | No | Optional hex color (no #) for hosted widget branding |
| isBuyOrSell | enum | Yes | BUY = fiat→crypto onramp; SELL = crypto→fiat offrampBUY | SELL |
| redirectURL | string | No | URL Transak redirects to after the hosted flow completes |
| cryptoAmount | number | No | Crypto amount. Either fiatAmount or cryptoAmount must be set. |
| fiatCurrency | string | Yes | ISO-4217 fiat currency code (USD, EUR, BRL, GBP, INR, etc) |
| paymentMethod | string | No | Method id from list_payment_methods (credit_debit_card, apple_pay, google_pay, sepa_bank_transfer, pix, upi, etc) |
| walletAddress | string | Yes | Destination (BUY) or source (SELL) crypto wallet address |
| cryptoCurrency | string | Yes | Crypto ticker (ETH, USDC, USDT, BTC, SOL, MATIC, etc) |
| partnerOrderId | string | Yes | Merchant-side stable order id (echoed back on webhooks) |
| partnerCustomerId | string | No | Merchant-side stable user id (for returning users) |
Details
From the project README@codespar/mcp-transak
MCP server for Transak — fiat↔crypto on/off-ramp across ~170 countries with multi-chain coverage (Ethereum, Solana, Polygon, BSC, Bitcoin, Arbitrum, Optimism, Base, and more).
Transak is the natural peer to MoonPay: both solve the same problem (turn local fiat into on-chain crypto, and back), but each has its own partner list, country coverage, and pricing curve. Bundling both lets an agent-commerce flow pick the best route per corridor instead of pinning to one provider.
Why both MoonPay and Transak
- Coverage: MoonPay lists ~160 countries, Transak ~170. The overlaps are large but the edges are meaningful — certain LatAm, MENA, and APAC corridors are stronger on one side than the other.
- Partners: each has a distinct roster of DEX/wallet/dapp partners, which changes KYC reuse and custody posture for a given buyer.
- Pricing: fees, FX spread, and min/max vary per corridor. An agent can call
get_quoteon both, compare, and route. - Redundancy: if one provider rate-limits, de-risks a country, or throws a KYC hold, the other keeps the flow alive.
This MCP server focuses on the Partner API (server-to-server), not the widget. Agents create orders directly, poll status, and reconcile via webhooks.
Status
0.1.0-alpha.1. The public currency, payment-method, and quote endpoints were verified live against api-stg.transak.com. The partner-order endpoint paths (/api/v2/orders, /api/v2/orders/{id}, /cancel, /api/v2/partner/me) follow the documented conventions but a few are only fully visible inside Transak's partner dashboard — expect minor tweaks once you pair this against a real key.
Tools (18)
| Tool | Purpose |
|---|---|
create_order | Create a Transak order. |
get_order | Get a Transak order by its Transak order id. |
list_orders | List Transak orders for the partner account. |
update_order | Update a Transak order after creation. |
cancel_order | Cancel a Transak order. |
get_quote | Get a fiat↔crypto price quote (public, no auth). |
get_order_limits | Get the min and max trade amount for a fiat+crypto+country combination — what's the smallest USD a US buyer... |
list_fiat_currencies | List all fiat currencies Transak supports, with per-currency payment methods, limits, and country restricti... |
list_crypto_currencies | List all crypto assets Transak supports, including network, decimals, pay-in/pay-out eligibility, and juris... |
list_payment_methods | List payment methods available for a given fiat currency (card, Apple Pay, Google Pay, SEPA, UPI, Pix, wire... |
list_countries | List the countries Transak serves, with allowed fiat currencies, payment methods, and KYC requirements per... |
list_network_fees | List the network/gas fees Transak charges (or estimates) per crypto+network combination. |
get_partner_account | Get the authenticated partner's account profile (name, api key info, configured webhooks, default currencies). |
get_partner_balance | Get the partner's settlement balance(s) — Transak holds partner liquidity per fiat to fund SELL payouts and... |
refresh_access_token | Mint a fresh short-lived access-token from the partner api-secret. |
get_kyc_status | Get the KYC status of a buyer the partner has previously sent through Transak. |
get_user_limits | Get the current per-user transaction limits granted by Transak based on the user's KYC tier and country (da... |
verify_webhook_signature | Locally verify the HMAC-SHA256 signature on a Transak webhook delivery. |
Environment
| Var | Required | Secret | Description |
|---|---|---|---|
TRANSAK_API_KEY | yes | no | Partner API key (also passed as partnerApiKey on public endpoints) |
TRANSAK_API_SECRET | yes | yes | Partner API secret (sent as api-secret header) |
TRANSAK_ACCESS_TOKEN | no | yes | Short-lived access token (sent as access-token header if your partner tier requires it) |
TRANSAK_ENV | no | no | staging (default) or production |
Install
npm install @codespar/mcp-transak@alpha
Run (stdio)
TRANSAK_API_KEY=... TRANSAK_API_SECRET=... mcp-transak
Run (HTTP)
TRANSAK_API_KEY=... TRANSAK_API_SECRET=... mcp-transak --http
# POST http://localhost:3000/mcp
Docs
- Transak: https://docs.transak.com
- CodeSpar catalog: https://github.com/codespar/mcp-dev-latam
Enterprise
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
Authentication
Set these environment variables before launching the server:
TRANSAK_API_KEY(required) — Transak partner API key (from partner dashboard). Used as partnerApiKey query param on public quote endpoint and bundled with api-secret to mint the access-token for Partner API calls.TRANSAK_API_SECRET(required, secret) — Transak partner API secret. Sent as the api-secret header to endpoints that require server-to-server authentication (and used to mint access tokens for order endpoints).TRANSAK_ENV— Environment selector: 'staging' (default) targets https://api-stg.transak.com; 'production' targets https://api.transak.com.
Issue credentials at the provider's developer portal: https://docs.transak.com.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.