Payment Gateway for Telegram Services
Add a USDT wallet to your project — with one npm install.
If you're a developer, you don't need to build payment infrastructure from scratch.
Drop in the PAYchat SDK, and your app instantly supports:
- USDT wallets
- Payment links, QR codes, and escrow
- Status tracking
- Payouts & settlement
No blockchain knowledge required.
No wallet UX to design.
No payment logic to maintain.
You need 'payments', not 'transfers'.
Receiving money through a regular wallet app? Your server has no idea it happened.
PAYchat notifies you via webhook the moment a payment completes. Order matching, status tracking, retries — all handled automatically.
PAYchat vs Existing Solutions
| Basic Transfer APIs | PAYchat | |
|---|---|---|
| Payment verification | ❌ | ✅ |
| Order ↔ Payment matching | ❌ | ✅ Custom metadata on every payment |
| Payment status tracking | ❌ | ✅ |
| Escrow (hold & release) | ❌ | ✅ |
| Refunds | ❌ | ✅ Cancel an escrow, buyer is refunded in full |
| QR payments | ❌ | ✅ Fixed or variable amount |
| API access | Limited | ✅ 37 endpoints |
| Automation (Webhooks) | ❌ | ✅ HMAC-signed, auto-retry |
| Idempotency | ❌ | ✅ 24h replay protection |
| Fees | 0.5–2% of volume | Per call, not per volume — $0.0005 |
Existing solutions charge a percentage of your revenue. PAYchat charges per API call.
Send 10,000 USDT and pay $0.0005 — not $50.
Why PAYchat?
These comparisons miss the point
- "What's the fee?"
- "What's the TPS?"
- "How cheap is gas?"
The questions that actually matter
- Can users pay without installing a wallet?
- Is payment → settlement → logging → retry all automatic?
- Can I do everything with a single API?
- Will I never have to deal with payment support tickets?
PAYchat answers Yes to all of them.
Core Features
Payment Links
User pays with USDT → PAYchat handles it → you get a payment.completed webhook
QR Payments
Fixed amount for POS, or variable amount with min/max for tip jars. Reusable or single-use.
Escrow
Hold buyer funds until the seller delivers, then release — or cancel and refund the buyer in full. 1% fee on release.
Instant Payouts
One API call deposits USDT directly into the user's PAYchat wallet. New users are auto-registered.
Self-Service Setup
Register and go live in under 1 minute. No approval process.
Pricing
| Plan | Price | Monthly calls |
|---|---|---|
| Free | $0 | 1,000 |
| Founding Member | $140 one-time, lifetime | Unlimited |
Per-call cost
| Call type | Cost |
|---|---|
POST payment / withdrawal | $0.0005 |
GET (any endpoint) | $0.00005 |
Volume discount
Your discount is based on your balance plus the combined balance of users you referred — 0% up to 100% at 2,000,000 USDT. Refer users and their balances count toward your tier.
Full tier table in the Documentation.
Get Started in 5 Minutes
Step 1. Register as a Partner
Select a plan on the Partner page in the mini app → API Key & Secret Key issued instantly
Step 2. Set Up Webhooks
Partner page → Webhooks tab → enter your public HTTPS endpoint → click Test
Step 3. Start Using the API
Create payment links, QR codes, escrows, and withdrawals
Official SDK
npm install paychat-sdkimport PAYchatClient from 'paychat-sdk';
const client = new PAYchatClient('pk_your_api_key');
// Payment link
const payment = await client.createPayment({
amount: 10,
description: 'Limited Edition T-Shirt',
metadata: { order_id: 'order_001' }
});
// QR payment — expiresHours is in HOURS
const qr = await client.createQRPayment({
amount: 15,
description: 'Coffee Shop Order',
expiresHours: 1
});
// Escrow — minimum 1 USDT, 1% fee on release
const escrow = await client.createEscrow({
amount: 100,
buyerTelegramId: '123456789',
sellerTelegramId: '987654321'
});
// Withdrawal
await client.createWithdrawal({
telegramId: '123456789',
amount: 5.00,
memo: 'Reward payout'
});📖 SDK on npm — https://www.npmjs.com/package/paychat-sdk
API Preview
Base URL: https://paychat.info/api/partnerAuth: x-api-key: pk_your_api_key
Create a Payment Link
POST /api/partner/payments
{
"amount": 10.00,
"description": "Product Name",
"metadata": { "order_id": "order_001" },
"idempotency_key": "order_001"
}Returns payment.id — a 6-character link_id you use to check status.
Request a Withdrawal
POST /api/partner/withdrawals
{
"telegram_id": "123456789",
"amount": 5.00,
"memo": "Reward payout",
"idempotency_key": "payout_5521"
}Webhook Events
| Event | Description |
|---|---|
payment.completed | Payment link paid |
withdraw.completed | Withdrawal delivered |
qr.paid | QR payment received |
escrow.created | Escrow created |
escrow.paid | Buyer funded the escrow |
escrow.released | Funds released to seller |
escrow.cancelled | Escrow cancelled, buyer refunded |
test | Test webhook |
Secured with HMAC-SHA256 signatures (X-PAYchat-Signature). Up to 5 attempts on failure: immediately → 1 min → 5 min → 30 min → 2 hours.
Deposits do not emit webhooks — poll GET /deposits/:id.
Minimum Amounts
| Resource | Minimum |
|---|---|
| Payment link | 0.000001 USDT |
| Withdrawal | 0.000001 USDT |
| QR payment (fixed) | 0.01 USDT |
| Escrow | 1 USDT |
| Deposit | 1 USDT |
Supported Networks
- TRON (TRC-20 USDT)
- TON
Start Now
Free plan available · 5-minute setup · No blockchain knowledge required
Pay per API call, not per transaction volume · Instant settlement · Up to 100% fee discount
Questions → https://t.me/paychat_group