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>
AttributeRequiredDescription
data-merchant-idrequiredYour merchant ID from MidasPay
data-amountrequiredPayment amount in USD
data-currencyoptionalDisplay currency (default: USD)
data-callback-urloptionalURL to receive payment confirmation
data-themeoptional"dark" or "light" (default: dark)

API payments

For custom integrations, use the REST API to create payment requests.

POST /api/v1/payments

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"
}
GET /api/v1/payments/:id

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

EventDescription
payment.pendingPayment received, waiting for blockchain confirmation
payment.confirmedPayment confirmed on-chain and settled to wallet
payment.expiredCustomer did not complete payment in time
payment.failedPayment 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

ChainTokenSettlementAvg confirm
BaseUSDCRecommended~2 seconds
PolygonUSDC, USDTSupported~5 seconds
EthereumUSDC, USDTSupported~15 seconds
BitcoinBTCSupported~10 minutes
TronUSDTSupported~3 seconds

We recommend Base for USDC settlement — lowest fees and fastest confirmation times.

Fees

PlanPer transactionMonthly
Starter1.2%$0
Growth0.9%$50
Pro0.7%$149
EnterpriseCustomCustom

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