transak
Transak fiat-to-crypto on-ramp for Web3. Buy and sell crypto with 100+ payment methods across 170+ countries.
Best use case
transak is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Transak fiat-to-crypto on-ramp for Web3. Buy and sell crypto with 100+ payment methods across 170+ countries.
Teams using transak should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/transak/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How transak Compares
| Feature / Agent | transak | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Transak fiat-to-crypto on-ramp for Web3. Buy and sell crypto with 100+ payment methods across 170+ countries.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Transak 🚀
Web3 payment infrastructure. Fiat on/off-ramp trusted by 600+ DeFi, NFT, and wallet projects.
## Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| `TRANSAK_API_KEY` | API Key | Yes |
| `TRANSAK_SECRET` | Secret for webhooks | No |
| `TRANSAK_ENV` | `STAGING` or `PRODUCTION` | No |
## Features
- 🌍 **170+ Countries** - Global coverage
- 💳 **100+ Payment Methods** - Cards, bank, mobile
- ⛓️ **75+ Blockchains** - EVM, Solana, Bitcoin, etc.
- 🔄 **Off-Ramp** - Sell crypto to fiat
- 🎨 **NFT Checkout** - Direct NFT purchases
- 🔌 **Widget SDK** - Easy integration
## API Base URLs
- Staging: `https://api-stg.transak.com`
- Production: `https://api.transak.com`
## Get Supported Cryptocurrencies
```bash
API_KEY="${TRANSAK_API_KEY}"
ENV="${TRANSAK_ENV:-STAGING}"
[[ "$ENV" == "PRODUCTION" ]] && BASE_URL="https://api.transak.com" || BASE_URL="https://api-stg.transak.com"
curl -s "${BASE_URL}/api/v2/currencies/crypto-currencies" | jq '.response[:10] | .[] | {symbol: .symbol, name: .name, network: .network.name}'
```
## Get Supported Fiat Currencies
```bash
curl -s "${BASE_URL}/api/v2/currencies/fiat-currencies" | jq '.response[:10] | .[] | {symbol: .symbol, name: .name, paymentOptions: .paymentOptions}'
```
## Get Price Quote
```bash
FIAT="USD"
CRYPTO="ETH"
FIAT_AMOUNT="100"
NETWORK="ethereum"
PAYMENT_METHOD="credit_debit_card"
curl -s "${BASE_URL}/api/v2/currencies/price" \
-G \
--data-urlencode "fiatCurrency=${FIAT}" \
--data-urlencode "cryptoCurrency=${CRYPTO}" \
--data-urlencode "fiatAmount=${FIAT_AMOUNT}" \
--data-urlencode "network=${NETWORK}" \
--data-urlencode "paymentMethod=${PAYMENT_METHOD}" \
--data-urlencode "isBuyOrSell=BUY" | jq '{
cryptoAmount: .response.cryptoAmount,
fiatAmount: .response.fiatAmount,
totalFee: .response.totalFee,
conversionPrice: .response.conversionPrice
}'
```
## Generate Widget URL
```bash
API_KEY="${TRANSAK_API_KEY}"
WALLET_ADDRESS="<USER_WALLET>"
CRYPTO="ETH"
NETWORK="ethereum"
FIAT_AMOUNT="100"
FIAT_CURRENCY="USD"
# Build widget URL
WIDGET_URL="https://global.transak.com/?apiKey=${API_KEY}"
WIDGET_URL+="&walletAddress=${WALLET_ADDRESS}"
WIDGET_URL+="&cryptoCurrencyCode=${CRYPTO}"
WIDGET_URL+="&network=${NETWORK}"
WIDGET_URL+="&fiatAmount=${FIAT_AMOUNT}"
WIDGET_URL+="&fiatCurrency=${FIAT_CURRENCY}"
WIDGET_URL+="&productsAvailed=BUY"
echo "Widget URL: $WIDGET_URL"
```
## Get Order Status
```bash
ORDER_ID="<ORDER_ID>"
curl -s "${BASE_URL}/api/v2/partners/order/${ORDER_ID}" \
-H "api-key: ${API_KEY}" | jq '{
status: .response.status,
cryptoAmount: .response.cryptoAmount,
transactionHash: .response.transactionHash,
walletAddress: .response.walletAddress
}'
```
## Supported Networks
| Network | ID | Tokens |
|---------|-----|--------|
| Ethereum | ethereum | ETH, USDT, USDC, DAI |
| Polygon | polygon | MATIC, USDT, USDC |
| Arbitrum | arbitrum | ETH, ARB, USDC |
| Optimism | optimism | ETH, OP, USDC |
| BSC | bsc | BNB, BUSD, USDT |
| Solana | solana | SOL, USDC |
| Avalanche | avaxcchain | AVAX, USDC |
| Base | base | ETH, USDC |
| Bitcoin | bitcoin | BTC |
## Payment Methods
| Method | Regions | Speed |
|--------|---------|-------|
| Credit/Debit Card | Global | Instant |
| Apple Pay | Global | Instant |
| Google Pay | Global | Instant |
| Bank Transfer | Global | 1-3 days |
| SEPA | Europe | 1-2 days |
| PIX | Brazil | Instant |
| UPI | India | Instant |
| GCash | Philippines | Instant |
| GrabPay | SEA | Instant |
## Order Status Codes
| Status | Description |
|--------|-------------|
| `AWAITING_PAYMENT_FROM_USER` | Waiting for payment |
| `PAYMENT_DONE_MARKED_BY_USER` | Payment submitted |
| `PROCESSING` | Processing order |
| `PENDING_DELIVERY_FROM_TRANSAK` | Sending crypto |
| `COMPLETED` | Order completed |
| `CANCELLED` | Order cancelled |
| `FAILED` | Order failed |
| `REFUNDED` | Payment refunded |
| `EXPIRED` | Order expired |
## Webhook Events
```bash
# Webhook payload
{
"eventID": "ORDER_COMPLETED",
"webhookData": {
"id": "order-123",
"status": "COMPLETED",
"cryptoAmount": 0.05,
"cryptoCurrency": "ETH",
"transactionHash": "0x...",
"walletAddress": "0x..."
}
}
```
## Verify Webhook
```bash
verify_webhook() {
local payload="$1"
local signature="$2"
local expected=$(echo -n "$payload" | openssl dgst -sha256 -hmac "$TRANSAK_SECRET" | cut -d' ' -f2)
[[ "$signature" == "$expected" ]]
}
```
## Widget Customization
```bash
# Additional widget parameters
WIDGET_URL+="&themeColor=0066FF" # Custom color
WIDGET_URL+="&hideMenu=true" # Hide menu
WIDGET_URL+="&disableWalletAddressForm=true" # Lock wallet
WIDGET_URL+="&exchangeScreenTitle=Buy%20Crypto" # Custom title
WIDGET_URL+="&defaultPaymentMethod=credit_debit_card"
```
## Safety Rules
1. **VERIFY** webhook signatures
2. **NEVER** expose API keys client-side
3. **CHECK** order status before fulfilling
4. **VALIDATE** wallet addresses
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| `INVALID_API_KEY` | Bad API key | Check credentials |
| `UNSUPPORTED_CRYPTO` | Currency unavailable | Check supported list |
| `AMOUNT_TOO_LOW` | Below minimum | Increase amount |
| `AMOUNT_TOO_HIGH` | Above maximum | Decrease amount |
## Links
- [Transak Docs](https://docs.transak.com/)
- [Dashboard](https://dashboard.transak.com/)
- [Widget Demo](https://global.transak.com/)Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).