Repository avatar
Other Tools
v1.0.1
active

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

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.

Docs Go TypeScript PHP Networks Dependencies


✨ 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

PackageInstall
🛒WooCommerce / WordPressUpload suawave-payment.zip in Plugins
🏬Magento 2composer require suawave/module-payment
🛍️OpenCart 4Upload suawave.ocmod.zip in Extensions
🏪PrestaShop 8 / 1.7.8Upload suawave.zip in Modules
🐹Go clientgo get github.com/Suawave-Payment-System/suawave/sdk/go
🟨TypeScript / JavaScript clientnpm install @suawave/gateway-client
🤖MCP server launchernpx @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
  1. Install the package for your platform from the table above.
  2. Enter the gateway URL https://api.suawave.com, the ticker (trc20/usdt or bep20/usdt) and your payout wallet address.
  3. Paste the callback public key from curl https://api.suawave.com/pubkey/.
  4. 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

Built by Suawave. The gateway itself is a separate, private service; this repository holds everything a merchant or developer installs.

NPM
@suawave/mcp
Install Command
npm install @suawave/mcp
Runtime: npx