askill
transak

transakSafety 90Repository

Transak fiat-to-crypto on-ramp for Web3. Buy and sell crypto with 100+ payment methods across 170+ countries.

0 stars
1.2k downloads
Updated 2/7/2026

Package Files

Loading files...
SKILL.md

Transak πŸš€

Web3 payment infrastructure. Fiat on/off-ramp trusted by 600+ DeFi, NFT, and wallet projects.

Environment Variables

VariableDescriptionRequired
TRANSAK_API_KEYAPI KeyYes
TRANSAK_SECRETSecret for webhooksNo
TRANSAK_ENVSTAGING or PRODUCTIONNo

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

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

curl -s "${BASE_URL}/api/v2/currencies/fiat-currencies" | jq '.response[:10] | .[] | {symbol: .symbol, name: .name, paymentOptions: .paymentOptions}'

Get Price Quote

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

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

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

NetworkIDTokens
EthereumethereumETH, USDT, USDC, DAI
PolygonpolygonMATIC, USDT, USDC
ArbitrumarbitrumETH, ARB, USDC
OptimismoptimismETH, OP, USDC
BSCbscBNB, BUSD, USDT
SolanasolanaSOL, USDC
AvalancheavaxcchainAVAX, USDC
BasebaseETH, USDC
BitcoinbitcoinBTC

Payment Methods

MethodRegionsSpeed
Credit/Debit CardGlobalInstant
Apple PayGlobalInstant
Google PayGlobalInstant
Bank TransferGlobal1-3 days
SEPAEurope1-2 days
PIXBrazilInstant
UPIIndiaInstant
GCashPhilippinesInstant
GrabPaySEAInstant

Order Status Codes

StatusDescription
AWAITING_PAYMENT_FROM_USERWaiting for payment
PAYMENT_DONE_MARKED_BY_USERPayment submitted
PROCESSINGProcessing order
PENDING_DELIVERY_FROM_TRANSAKSending crypto
COMPLETEDOrder completed
CANCELLEDOrder cancelled
FAILEDOrder failed
REFUNDEDPayment refunded
EXPIREDOrder expired

Webhook Events

# Webhook payload
{
  "eventID": "ORDER_COMPLETED",
  "webhookData": {
    "id": "order-123",
    "status": "COMPLETED",
    "cryptoAmount": 0.05,
    "cryptoCurrency": "ETH",
    "transactionHash": "0x...",
    "walletAddress": "0x..."
  }
}

Verify Webhook

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

# 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

ErrorCauseSolution
INVALID_API_KEYBad API keyCheck credentials
UNSUPPORTED_CRYPTOCurrency unavailableCheck supported list
AMOUNT_TOO_LOWBelow minimumIncrease amount
AMOUNT_TOO_HIGHAbove maximumDecrease amount

Links

Install

Download ZIP
Requires askill CLI v1.0+β–Ά

AI Quality Score

94/100Analyzed 2/12/2026

A comprehensive and highly actionable skill for integrating the Transak fiat-to-crypto on-ramp. It provides clear environment setup, copy-pasteable bash commands for various API endpoints, detailed reference tables, and essential safety guidelines.

90
95
90
98
95

Metadata

Licenseunknown
Version-
Updated2/7/2026
PublisherYPYT1

Tags

apici-cdsecurity