Your business. A world of ways to pay.

Payments infrastructure for the borderless economy. One integration: local-currency pricing, customers who pay with bank transfer, e-wallets or crypto, and stablecoin settlement.

Mayarin merchant dashboard

The opportunity

Your business can reach the world.
Your payments should be able to keep up.

Every new market brings new currencies, payment preferences, and ways to move money. Connecting separate systems and tracking every payment adds work at the exact moment your business is ready to grow.

Mayarin brings payment collection, conversion, and stablecoin settlement into one integration. Price in your local currency, let customers pay with supported assets, and manage payments in one place, from your first sale to your next market.

Reach more customers. Let them pay their way, while you get paid yours.

Mayarin checkout

Order total

RM 50.00

CryptoLocal currency

Choose how to pay

Bank transfer

E-wallet

QR payment

Online banking

Pay with bank transfer

Your sale. Settled.

Local-currency pricing to stablecoins in your wallet.

Customer paid
Bank transfer
You receive
USDC
Destination
Your wallet
Payment status
Settled

Your prices, in local currency. Keep prices in the currency your business uses. Mayarin handles the quote and conversion so customers know what to pay.

More ways to fund a payment. Let customers pay with local methods like bank transfer and e-wallets, or with supported crypto assets and networks. One payment link brings those options together.

Stablecoin settlement, in your wallet. Receive stablecoins in your own wallet and follow each payment from checkout to settlement, with a clear record in your dashboard.

Your prices, in local currency

Your customers, paying their way

Your payments, in one place

Let customers pay their way, settle in the stablecoin you choose.

Mayarin turns whatever the payer brings into your stablecoin, so you reach more customers, get paid faster and never touch the blockchain.

Reach more payers

Accept local methods like bank transfer and e-wallets, or any supported asset on any supported chain. Customers pay the way they already do, and the order still lands in your currency.

Get paid in minutes

Your stablecoin lands on-chain once the payment confirms, not days later when a card batch clears.

Price locally, sell globally

Quote in 22 local currencies from one integration. The rate is locked at checkout, so the price your customer sees is the price you get.

No chargebacks

A confirmed on-chain payment cannot be pulled back by the payer. No chargeback fraud, no dispute fees.

Everything a payment needs.
Nothing you have to assemble.

Solutions for every industry

One integration. Every way your money moves.

Checkout

Checkout in any supported asset

Price in your local currency. Shoppers pay in the crypto they hold, you settle in a stablecoin.

Payouts

Pay sellers and affiliates

Send stablecoins to up to 100 sellers, affiliates and partners in one transaction.

Fiat rails

Shoppers pay with local methods

Shoppers pay in their own currency by bank transfer, e-wallet or QR. You still settle in a stablecoin.

Why Mayarin

Built to be trusted with every payment. Merchants choose Mayarin for non-custodial, flexible, multi-chain and auditable stablecoin payments.

Non-custodial

Settlements land in a wallet you control. Mayarin never holds your customer's funds on the contract path.

Flexible

Hosted checkout, payment links and invoices, or the API and SDK. Use only the parts your product needs.

Multi-chain

Payers bring any supported asset on six EVM and Solana networks. You settle in the stablecoin you choose.

Auditable

Every payment moves through balanced, double-entry postings. No balance ever changes without a trail.

Resilient

Every step is idempotent and resumable. A retry or a crash mid-payment can't double-post or lose value.

Agent-ready

Software can pay too. An autonomous agent reaches the same clearing and the same merchant as a person.

One clearing layer.
Wherever the payer is.

Priced in

  • SingaporeDollar · SGD (S$)
  • MalaysiaRinggit · MYR (RM)
  • ThailandBaht · THB (฿)
  • PhilippinesPeso · PHP (₱)
  • United StatesDollar · USD ($)
  • Other currencies(17 additional supported currencies)

Paid with

  • Bank transfer
  • E-wallets
  • QR payments
  • Online banking
  • Crypto

Settled in

  • USDC · USD Coin
  • USDT · Tether USD
  • EURC · Euro Coin
  • PYUSD · PayPal USD
on
  • Ethereum
  • Solana
  • Base
  • Arbitrum
  • Polygon
  • Arc

Whatever the payer brought, converted as part of the payment

For developers

Built for Developers,
Scaling their payment.

Integrate in hours using modern APIs and SDKs, with all the tools you need to launch smoothly.

APIs & SDKs

Start taking payments from one API

Create payments, links and invoices from the typed TypeScript SDK or plain HTTP. Signed webhooks tell your server the moment money lands, and every step is on the event log.

Read the API quickstart
create-payment.ts
import { createMayarin } from "@mayarin/sdk";

const mayarin = createMayarin({
  baseUrl: "https://api.mayarin.xyz",
  secretKey: process.env.MAYARIN_SECRET_KEY ?? "",
});

const intent = await mayarin.payment.createIntent({
  merchant: { id: "M-1", name: "Warung Kopi", city: "Singapore", countryCode: "SG" },
  amount: { amount: "50.00", asset: "SGD" },
});

console.log(intent.amount.display); // "S$ 50,00"

x402

Charge for any request with x402

Register a URL, set its price, and close the gate with one middleware. Mayarin verifies the signature, settles on-chain and credits you, no key and no chain code on your server.

Sell an endpoint to an agent
server.ts
import { createX402Gate } from "@mayarin/sdk";
import { x402Connect } from "@mayarin/sdk/x402/connect";

const gate = createX402Gate({
  baseUrl: "https://api.mayarin.xyz",
  resourceId: "your-resource-id",
});

app.get("/premium", x402Connect(gate), paidHandler);

Webhooks

Know the moment money lands

Every state change posts a signed webhook to your server, verify the signature, then fetch the payment before you fulfil. The same event log keeps every step, so any payment can be replayed or audited later.

Read the webhooks guide
webhook.ts
import { constructWebhook, createMayarin } from "@mayarin/sdk";

const mayarin = createMayarin({
  baseUrl: "https://api.mayarin.xyz",
  secretKey: process.env.MAYARIN_SECRET_KEY ?? "",
});

type PaymentEvent = {
  readonly type: "payment.created" | "payment.state_changed" | "payment.failed";
  readonly data: { readonly clearingTransactionId: string; readonly state: string };
};

export async function POST(request: Request) {
  const payload = await request.text();
  const signature = request.headers.get("Webhook-Signature");
  if (!signature) return new Response("Missing signature", { status: 400 });

  const event = await constructWebhook<PaymentEvent>({
    payload,
    signature,
    secret: process.env.MAYARIN_WEBHOOK_SECRET ?? "",
  });

  // Treat the webhook as a signal; fetch the payment before fulfilment.
  if (event.type === "payment.state_changed" && event.data.state === "SUCCESS") {
    const payment = await mayarin.payment.get(event.data.clearingTransactionId);
    await fulfil(payment);
  }

  return new Response(null, { status: 204 });
}

Questions merchants
ask first.

Short answers to what comes up.

You do. Settlements land in a wallet you control — a Safe or a wallet you verify in the dashboard. On the contract path Mayarin never holds your customer's funds; on the deposit path they pass through a per-payment address only until the payment settles. When a customer pays in a local currency, a licensed partner takes the payment and verifies the payer; Mayarin never holds fiat or customer identity documents.

No. They pay with any supported asset on any supported network. You set the price in your local currency and receive a stablecoin, and Mayarin handles the conversion in between.

Yes. At checkout they can choose a local method instead — a bank transfer, an e-wallet, a QR payment or online banking — and pay in their own currency. A licensed partner takes the payment and the stablecoin is delivered to the payment's address, so you are settled the same way as any other payment.

In testing today: bank transfer, e-wallets, QR payments and online banking across several Southeast Asian markets. More markets open as our payment partner enables them, and each method is shown at checkout only when it can work.

No. You price in your own currency and share a payment link, an invoice or a QR code. Choosing the network and converting the asset happen behind the checkout.

Yes. Mayarin settles in stablecoins to your own wallet, and you can cash them out to your bank account through a third-party provider.

It does not reach you. The rate is locked when your customer chooses how to pay, so you receive the amount you priced, whatever the asset does in the meantime. If the lock runs out before the funds arrive, the payment expires and your customer starts again at the current rate.

Mayarin confirms every payment on-chain itself instead of trusting a notification, then records it in a double-entry ledger. Each step can be safely retried, so a payment is never settled twice or lost halfway.

Mayarin runs on testnet today, so no real money moves yet — local payment methods included, which run against our payment partner's sandbox. Join early access and we will let you know when live payments open.

Get early access

Focus on building. Let Mayarin move the money.

Accept, route, and settle payments through one integration built to grow with your product.

Get early access