Enterprise-grade cryptocurrency payment infrastructure. Accept payments across 9 blockchains with 20+ tokens, now with native recurring subscription support. Test your integration with live examples and comprehensive documentation.
Configure your test environment with your merchant credentials. All tests will use these settings.
Merchant User ID: Identifies your account in the Thentic Pay system (contact support to obtain one)
Recipient Address: Where cryptocurrency payments will be sent (must be a valid ERC-20 compatible wallet)
Test Amount: Used for the first live test - other tests use preset amounts to demonstrate variety
Build custom payment buttons by selecting your parameters. Copy the generated code and embed it anywhere.
Configure the parameters below to generate a custom payment button
Copy this code and paste it into your website's HTML
<iframe
src="https://thentic.tech/pixel?a=10.00&t=USDT&c=Polygon&u=YOUR_USER_ID&r=YOUR_RECIPIENT_ADDRESS"
width="260"
height="70"
frameborder="0"
style="border: none;">
</iframe>
a or amount: Payment amount in USD (required)
t or token: Cryptocurrency token (default: USDT)
c or chain: Blockchain network (default: Polygon)
u or user_id: Your merchant user ID (required)
r or recipient_address: Wallet address to receive payment (required)
Common pixel configurations with different parameters
https://thentic.tech/pixel?a=50&t=USDC&c=Base&u=YOUR_USER_ID&r=0x...
https://thentic.tech/pixel?amount=100&token=USDT&chain=Polygon&user_id=YOUR_USER_ID&recipient_address=0x...
https://thentic.tech/pixel?a=25&token=DAI&c=Arbitrum%20One&user_id=YOUR_USER_ID&r=0x...
Interactive payment buttons demonstrating different chains and tokens. Click any button to create a live payment request.
Each button should display "Pay with Crypto" with the Thentic logo
Clicking creates a payment and redirects to the payment page
Check browser console (F12) - there should be no errors
Copy-paste ready code examples for integrating Thentic Pay into your application.
user_id: Your merchant UUID (required)
amount: Payment amount in USD (required)
token: Cryptocurrency token — e.g. USDT, USDC, DAI (required)
chain: Blockchain network — e.g. Polygon, Optimism, Base (required)
recipient_address: 42-character Ethereum wallet address to receive payment (required)
webhook_url: Your endpoint for payment status callbacks (optional)
custom_parameters: JSON object with arbitrary key-value pairs returned in webhook callbacks — max 10KB (optional)
subscription: "daily", "weekly" or "monthly" — creates a recurring subscription managed by the Thentic Master Wallet. ERC-20 tokens only (not supported for native coins such as ETH, BNB, POL). (optional)
include_commission: true or false — when true, a 1% Thentic Pay commission is added on top of the requested amount. Defaults to false. (optional)
curl -X POST https://thentic.tech/api/payment/create \
-H "Content-Type: application/json" \
-d '{
"user_id": "public",
"amount": 10.00,
"token": "USDT",
"chain": "Polygon",
"recipient_address": "0x000000000000000000000000000000000000dEaD",
"include_commission": true,
"webhook_url": "https://yourdomain.com/webhook/payment",
"custom_parameters": {
"order_id": "ORDER-12345",
"customer_email": "customer@example.com",
"internal_ref": "INV-2026-001"
}
}'
Returns: transaction_id, payment_url, amount_token, amount_usd, recipient_address, webhook_registered (if webhook_url was provided), custom_parameters_saved (if custom_parameters were provided), and commission (if include_commission was true)
{
"success": true,
"transaction_id": "87e2f701-a54d-433c-8daf-92fc5b1a7e83",
"payment_url": "https://thentic.tech/request?id=87e2f701-...",
"amount_token": "0.010101",
"amount_usd": "10.10",
"recipient_address": "0x000000000000000000000000000000000000dEaD",
"webhook_registered": true,
"custom_parameters_saved": true,
"commission": {
"rate": "1.00%",
"amount_usd": "0.10",
"original_amount_usd": "10.00",
"total_amount_usd": "10.10"
}
}
When payment status changes, a POST request will be sent to your webhook_url with the following JSON structure:
{
"event": "payment_status_update",
"timestamp": "2026-03-05T13:56:32.291349",
"transaction": {
"request_id": "87e2f701-a54d-433c-8daf-92fc5b1a7e83",
"hash": "0xcf7d...2d28",
"status": "completed",
"chain": "Optimism",
"amount": 0.000010,
"token": "USDT",
"wallet_from": "0x1111...1591",
"subscription": "weekly",
"subscription_id": "2bd043e5-d837-4804-90e8-95e611026fb9"
},
"compliance": {
"sender_sanctioned": false,
"sanction_details": null,
"screening_performed": true,
"screening_timestamp": "2026-03-05T13:56:32.291876"
},
"custom_parameters": {
"order_id": "ORDER-12345",
"customer_email": "customer@example.com",
"internal_ref": "INV-2026-001"
}
}
subscription: Present when the payment is part of a recurring subscription — value is "daily", "weekly", "monthly", or null for one-time payments.
subscription_id: Unique UUID identifying the subscription. Use this ID to list or cancel subscriptions via the API.
compliance: AML screening results for the sender's wallet, checked against OFAC, EU, and UN sanctions lists via dual-layer screening.
Thentic Pay supports native on-chain recurring subscriptions for ERC-20 tokens (USDT, USDC, DAI, etc.).
When a subscription is created, the payer grants an on-chain ERC-20 approve() to the
Thentic Master Wallet
0x00027cae93cf1946a5afbc022515b603e5071000,
enabling automatic future charges without requiring the payer to return each cycle.
⚠️ ERC-20 tokens only. Subscriptions are not available for native coins (ETH, BNB, POL, etc.) because the ERC-20 approval mechanism does not exist for native currency transfers.
Step-by-step flow from creation to activation
Merchant calls /api/payment/create with subscription: "daily", "weekly" or "monthly". A pending subscription row is created.
Payer opens the payment page and clicks Authorize Subscription. Their wallet sends an ERC-20 approve() to the Master Wallet.
Payer completes the first payment. Subscription status moves to active and next_charged_date is calculated.
Merchant can list all active subscriptions and cancel any of them via the API at any time.
Add the subscription parameter to any payment creation request
curl -X POST https://thentic.tech/api/payment/create \
-H "Content-Type: application/json" \
-d '{
"user_id": "YOUR_MERCHANT_ID",
"amount": 9.99,
"token": "USDT",
"chain": "Optimism",
"recipient_address": "0xYourRecipientAddress",
"subscription": "monthly",
"webhook_url": "https://yourdomain.com/webhook",
"custom_parameters": {
"plan": "pro",
"customer_id": "usr_12345"
}
}'
{
"success": true,
"transaction_id": "87e2f701-a54d-433c-8daf-92fc5b1a7e83",
"payment_url": "https://thentic.tech/request?id=87e2f701-...",
"amount_token": "0.000010",
"amount_usd": "9.99",
"recipient_address": "0xYourRecipientAddress",
"subscription": "monthly",
"webhook_registered": true
}
Retrieve all subscriptions for your merchant account, with optional status filtering
# List all subscriptions curl "https://thentic.tech/api/subscriptions?user_id=YOUR_MERCHANT_ID" # Filter by status: pending | active | cancelled curl "https://thentic.tech/api/subscriptions?user_id=YOUR_MERCHANT_ID&status=active"
user_id: Your merchant UUID (required)
status: Filter by subscription status — pending, active, or cancelled (optional)
{
"success": true,
"user_id": "YOUR_MERCHANT_ID",
"total": 1,
"subscriptions": [
{
"subscription_id": "2bd043e5-d837-4804-90e8-95e611026fb9",
"request_id": "87e2f701-a54d-433c-8daf-92fc5b1a7e83",
"subscription_type": "monthly",
"status": "active",
"approved_at": "2026-03-05T13:55:56.078369+00:00",
"approved_by": "0x1111...1591",
"canceled_at": null,
"last_charged_date": "2026-03-05T13:56:32.291349+00:00",
"next_charged_date": "2026-04-05T13:56:32.291349+00:00",
"created_at": "2026-03-05T13:55:07.601679+00:00",
"amount_usd": "9.99",
"token": "USDT",
"chain": "Optimism"
}
]
}
Cancel an active or pending subscription. Only the owning merchant can cancel their subscriptions.
curl -X POST https://thentic.tech/api/subscriptions/cancel \
-H "Content-Type: application/json" \
-d '{
"user_id": "YOUR_MERCHANT_ID",
"subscription_id": "2bd043e5-d837-4804-90e8-95e611026fb9"
}'
{
"success": true,
"subscription_id": "2bd043e5-d837-4804-90e8-95e611026fb9",
"status": "cancelled"
}
| Status | Description |
|---|---|
| pending | Subscription created. Waiting for payer to authorize and complete first payment. |
| active | First payment completed and ERC-20 approval granted. next_charged_date is set. |
| cancelled | Subscription cancelled by the merchant. No further charges will be initiated. |
curl -X POST https://thentic.tech/api/merchant/statistics \
-H "Content-Type: application/json" \
-d '{
"user_id": "public",
"period": "30d",
"include_breakdown": true
}'
all (default), 24h, 7d, 30d, 90d, or custom with date range
// Missing required field
{
"error": "chain, token, amount, and recipient_address are required"
}
// Invalid address format
{
"error": "Invalid recipient_address format. Must be a valid Ethereum address (42 characters starting with 0x)"
}
// User not found
{
"error": "User not found"
}
Comprehensive multi-chain support with 20+ tokens across 9 blockchain networks.
| Blockchain | Native Token | Supported Tokens | Gas Efficiency |
|---|---|---|---|
| Polygon | POL | USDT, USDC, DAI, WBTC, WETH, LINK, AAVE, CRV | ● Low |
| Base | ETH | USDT, USDC, USDbC, DAI, WETH, WBTC | ● Low |
| Arbitrum One | ETH | USDT, USDC, DAI, WBTC, WETH, LINK | ● Low |
| Optimism | ETH | USDT, USDC, DAI, WBTC, WETH, LINK, OP | ● Low |
| Ethereum Mainnet | ETH | USDT, USDC, DAI, WBTC, WETH, LINK, SHIB, POL, UNI, XAUt | ● High |
| Binance Smart Chain | BNB | USDT, USDC, DAI, WBTC, WETH, LINK, DOGE, SHIB, XRP, ADA, TRX, DOT, POL | ● Low |
| Avalanche | AVAX | USDT, USDC, DAI, WBTC, WETH, LINK | ● Low |
| Cronos Mainnet | CRO | USDT, USDC, DAI, WBTC, WETH, SHIB, LINK | ● Low |
| Conflux | CFX | USDT0, AxCNH | ● Low |
Best for low fees: Polygon, Base, Arbitrum One
Best for stablecoins: Any chain supporting USDT/USDC
Best for speed: Base, Polygon (< 2 second confirmations)
Enterprise-grade anti-money laundering protection with dual-layer sanctions screening built into every transaction
Thentic Pay employs a comprehensive dual-layer approach to sanctions screening, combining both local and real-time API-based verification to ensure maximum compliance and protection:
Layer 1 - Local OFAC SDN List Screening:
All transactions are automatically screened against the U.S. Department of the Treasury's
Office of Foreign Assets Control (OFAC) Specially Designated Nationals (SDN) List.
This local database ensures fast, reliable checking even if external services are temporarily unavailable.
Layer 2 - Scorechain Real-Time API Verification:
Every wallet address is cross-referenced in real-time with Scorechain's sanctions screening API,
which aggregates data from multiple official sources including OFAC, EU sanctions lists, UN sanctions, and other
international regulatory bodies. This provides comprehensive, up-to-the-minute global sanctions coverage.
This dual-layer approach ensures compliance with international sanctions and protects your business from inadvertently processing payments involving sanctioned individuals, entities, or cryptocurrency addresses across multiple jurisdictions.
Sanctions lists include individuals, companies, and cryptocurrency addresses owned, controlled by, or acting on behalf of targeted countries, as well as terrorists, narcotics traffickers, and other designated entities. Assets of sanctioned entities are blocked, and businesses are legally prohibited from processing transactions involving them. Thentic Pay checks against both OFAC (U.S.), EU, UN, and other international sanctions programs.
Every transaction is verified instantly through both local OFAC database and live Scorechain API checks
Multi-source verification covering OFAC, EU, UN, and other international sanctions programs
Continuous synchronization with official databases ensures compliance with the latest sanctions
If the API is temporarily unavailable, local OFAC screening continues to protect your business
Dual-layer AML protection is built-in and automatic—no additional setup or integration required
Complete logging of all screening results for regulatory compliance and reporting
If a transaction involves an address flagged by either screening layer as being associated with a sanctioned entity, it will be automatically rejected to ensure compliance. Both the wallet address and detailed sanction information (including the sanctioning authority, date, and reason) are logged. Complete transaction logs and audit trails are maintained for regulatory reporting and compliance verification.
Official Sources:
• OFAC Sanctions List Service –
U.S. Department of the Treasury
• Scorechain Sanctions API –
Multi-Source International Sanctions Database
Last SDN List Update: January 21, 2026
API Status: Real-time verification active