MidasPay Documentation
MidasPay is a payment gateway that lets you accept card and crypto payments with settlement in USDC directly to your wallet. No acquiring bank, no chargebacks, no frozen accounts.
How it works
For your customers
Customers see a standard checkout page. They can pay with Visa, Mastercard (via card-to-crypto onramp) or directly with crypto/stablecoins. The experience looks like any normal payment flow.
For you (the merchant)
When a payment is made, it converts to USDC on-chain and settles directly to your designated cold wallet. The smart contract handles the split automatically: your funds go to your wallet, MidasPay's fee goes to the operator wallet. You never give up custody of your funds.
Settlement flow
Customer pays (card or crypto)
↓
Payment converts to USDC
↓
Smart contract splits funds
↓
Merchant wallet receives funds (minutes)
MidasPay fee settles to operator
Onboarding
Getting started with MidasPay takes about 5 minutes:
1. Apply
Fill out the merchant application form with your business details, expected volume, and wallet address.
2. Approval
We review your application and set up your merchant account. You'll receive your API key and integration details via email.
3. Integrate
Add the checkout widget to your website or use the API for custom integrations. Test with a small transaction.
4. Go live
Once verified, you're live. Payments settle to your wallet in minutes.
What you'll need
- A crypto wallet that supports USDC (MetaMask, Coinbase Wallet, Ledger, etc.)
- Your cold wallet address for settlement
- A website or app to integrate the checkout
Checkout widget
The fastest way to accept payments. Drop a single script tag on your site.
<script src="https://midaspay.com/widget.js"
data-merchant-id="YOUR_MERCHANT_ID"
data-amount="49.99"
data-currency="USD"
data-callback-url="https://yoursite.com/payment/callback">
</script>
| Attribute | Required | Description |
|---|---|---|
data-merchant-id | required | Your merchant ID from MidasPay |
data-amount | required | Payment amount in USD |
data-currency | optional | Display currency (default: USD) |
data-callback-url | optional | URL to receive payment confirmation |
data-theme | optional | "dark" or "light" (default: dark) |
API payments
For custom integrations, use the REST API to create payment requests.
Create a new payment request. Returns a payment URL your customer can visit to complete the payment.
curl -X POST https://midaspay.com/api/v1/payments \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "49.99",
"currency": "USD",
"description": "Order #1234",
"callback_url": "https://yoursite.com/webhook"
}'
Response
{
"payment_id": "pay_abc123",
"payment_url": "https://midaspay.com/pay/pay_abc123",
"amount": "49.99",
"status": "pending",
"expires_at": "2025-06-20T12:00:00Z"
}
Check the status of a payment.
{
"payment_id": "pay_abc123",
"status": "confirmed",
"amount": "49.99",
"settled_amount": "49.24",
"chain": "base",
"tx_hash": "0xabc...",
"confirmed_at": "2025-06-20T11:35:00Z"
}
Webhooks
MidasPay sends POST requests to your configured webhook URL when payment events occur. Payloads are signed with HMAC-SHA256.
{
"event": "payment.confirmed",
"payment_id": "pay_abc123",
"amount": "49.99",
"chain": "base",
"tx_hash": "0xabc...",
"timestamp": "2025-06-20T11:35:00Z"
}
Events
| Event | Description |
|---|---|
payment.pending | Payment received, waiting for blockchain confirmation |
payment.confirmed | Payment confirmed on-chain and settled to wallet |
payment.expired | Customer did not complete payment in time |
payment.failed | Payment failed (insufficient funds, wrong amount) |
Failed webhook deliveries retry on an escalating schedule: 30 minutes, 1 hour, 6 hours, 24 hours, 48 hours.
Supported chains
| Chain | Token | Settlement | Avg confirm |
|---|---|---|---|
| Base | USDC | Recommended | ~2 seconds |
| Polygon | USDC, USDT | Supported | ~5 seconds |
| Ethereum | USDC, USDT | Supported | ~15 seconds |
| Bitcoin | BTC | Supported | ~10 minutes |
| Tron | USDT | Supported | ~3 seconds |
We recommend Base for USDC settlement — lowest fees and fastest confirmation times.
Fees
| Plan | Per transaction | Monthly |
|---|---|---|
| Starter | 1.2% | $0 |
| Growth | 0.9% | $50 |
| Pro | 0.7% | $149 |
| Enterprise | Custom | Custom |
No hidden fees. No setup cost. No minimum volume. Network gas fees are paid from the transaction amount before settlement.
Security
Non-custodial
MidasPay never holds your funds. Payments settle directly to your designated cold wallet via smart contract. There is no intermediary balance or holding account.
Smart contract settlement
Fund sweeps are handled by audited smart contracts. The contract splits the payment between your wallet and the operator fee wallet in a single atomic transaction.
Webhook signing
All webhook payloads are signed with HMAC-SHA256 using your webhook secret. Always verify the signature before processing events.
API authentication
All API requests require a Bearer token. Keys can be rotated or revoked from your merchant dashboard at any time.
Ready to start accepting unkillable payments?
Apply now