
suawave-mcp
io.github.Suawave-Payment-System/suawave-mcp
Create and track stablecoin payments, convert amounts and read the docs of the Suawave API.
Documentation
Suawave
Stablecoin payments for online stores.
Your customer pays USDT from any wallet. Your store marks the order paid only after a signed, confirmed callback.
✨ Why Suawave
- 🔑 No account, no API key for the store plugins. They use the public API, which needs no registration.
- 🔏 Signed callbacks. Every callback is verified with the API's RSA public key before a single field is read. A pending callback never pays an order.
- 💰 Your wallet, your money. The payout address is yours. Every deposit is forwarded there.
- 🧮 Exact decimals. Amounts are decimal strings end to end, never floating point.
- 🔁 Partial payments handled. A smaller deposit keeps the order on hold; later deposits add up until the total is reached.
- 📦 Zero bundled code. No third-party libraries, no runtime dependencies in any package.
🧩 What is in this repository
| Package | Install | |
|---|---|---|
| 🛒 | WooCommerce / WordPress | Upload suawave-payment.zip in Plugins |
| 🏬 | Magento 2 | composer require suawave/module-payment |
| 🛍️ | OpenCart 4 | Upload suawave.ocmod.zip in Extensions |
| 🏪 | PrestaShop 8 / 1.7.8 | Upload suawave.zip in Modules |
| 🐹 | Go client | go get github.com/Suawave-Payment-System/suawave/sdk/go |
| 🟨 | TypeScript / JavaScript client | npm install @suawave/gateway-client |
| 🤖 | MCP server launcher | npx @suawave/mcp |
Each folder has its own README with configuration steps, and integrations/listing.json holds the one description every package and store listing is rendered from.
🚀 Quick start
Go
import suawave "github.com/Suawave-Payment-System/suawave/sdk/go"
client, _ := suawave.New("https://api.suawave.com", "")
order, err := client.PublicCreate(ctx, "trc20/usdt", suawave.PublicCreateParams{
Callback: "https://shop.example/hooks/crypto?order=1001&nonce=7f3a9c",
Address: payoutAddress,
Pending: true,
JSON: true,
})
fmt.Printf("send at least %s USDT to %s\n", order.MinimumTransactionCoin, order.AddressIn)
TypeScript / JavaScript
import { GatewayClient } from '@suawave/gateway-client';
const client = new GatewayClient({ baseUrl: 'https://api.suawave.com', apiKey: process.env.SUAWAVE_KEY });
const payment = await client.createPayment(
{ external_id: 'order_1001', network: 'TRON', asset: 'USDT', amount: '100.50' },
{ idempotencyKey: 'order_1001-create' },
);
console.log(payment.deposit_address, payment.expires_at);
Store plugins
- Install the package for your platform from the table above.
- Enter the gateway URL
https://api.suawave.com, the ticker (trc20/usdtorbep20/usdt) and your payout wallet address. - Paste the callback public key from
curl https://api.suawave.com/pubkey/. - Place a test order. The thank-you page shows the amount, the address and a QR code; the order turns paid after the confirmed callback.
🔄 How a payment flows
customer checks out ──▶ plugin asks the API for a deposit address ──▶ amount + address + QR shown
│
order paid ◀── signature verified ◀── signed callback ◀── deposit confirmed on chain
❓ FAQ
Do I need an account or an API key? No. The store plugins use the public API, which needs no registration and no key. The merchant API used by the SDKs takes a key for merchant operations.
Where do I get the callback public key?
Run curl https://api.suawave.com/pubkey/ once and paste the pubkey value into the settings, turning \n into real line breaks.
Can a customer pay less than the order total? A smaller confirmed deposit leaves the order on hold with a note. A later deposit is added to the running total, and the order is paid when the total reaches the order amount.
Which tokens and networks are supported?
You choose the asset and chain in the settings, for example trc20/usdt on TRON or bep20/usdt on BNB Smart Chain.
📚 Links
- 📖 Documentation: https://suawave.com/docs
- 🌐 Website: https://suawave.com
- 💬 Support: support@suawave.com (help pages at https://suawave.com/docs)
Built by Suawave. The gateway itself is a separate, private service; this repository holds everything a merchant or developer installs.
@suawave/mcpnpm install @suawave/mcp