Skip to content
Accepting payments now

Get paid in stablecoins, straight to your wallet

Send a link. Your customer pays in USDT or USDC on whichever network they already use, and it arrives in a wallet you hold the keys to. MYFI never takes custody of it.

  • No account for payers
  • Keys stay yours
  • Explorer link on every payment
Networks
6Networks
Stablecoins
2Stablecoins
Held in custody
0%Held in custody

Accepts USDT and USDC on

  • EthereumERC-20
  • BNB ChainBEP-20
  • TronTRC-20
  • BaseERC-20
  • ArbitrumERC-20
  • PolygonERC-20

How it works

Three steps, and none of them are yours

01

Share a payment link

Every project gets its own page. Send the link, embed it, or list it publicly — whatever suits.

02

Your customer pays

They pick a network, get an address reserved for them alone, and send. No account, no sign-up, nothing to upload.

03

It lands in your wallet

Confirmed on chain and forwarded automatically. You watch it happen — you do not chase it.

Why it holds up

Built so a payment cannot go missing

The hard part of taking crypto is not receiving it. It is knowing, without doubt, that it arrived and where it went.

A dedicated address per payment

Each invoice gets a single-use address. That address is what identifies the payment — so nothing is lost when an exchange rounds the amount or a customer sends a cent short.

Confirmed in seconds

Transfers are detected as they land and forwarded without anyone pressing anything. Your customer watches it complete on their own screen.

One link, every network

Ethereum, BNB Chain and Tron from the same page. The payer picks whichever their wallet already holds.

Settlement you can see

Every payment, where it is, and what is still to arrive — with the explorer link to check it against.

Nothing left hanging

Unpaid invoices expire on their own. A payment that arrives late is still recorded, never quietly dropped.

Non-custodial, and that is not a marketing word

Money goes to a wallet you hold the keys to. There is no MYFI balance, no withdrawal to request and no approval to wait for — because at no point do we hold anything of yours to release.

For developers

Two calls, and your product takes stablecoins

Create a checkout session from your server, send the customer to the URL it returns, and grant access when the signed webhook arrives. The same shape as any hosted checkout you have integrated before — and for the same reasons.

Your server fixes the amount
The browser only ever receives an unguessable session id. There is nothing in the URL worth tampering with.
Retries are safe
A repeated reference returns the same session, with a replay header. A network blip never shows one customer two payment pages.
Signed, timestamped webhooks
HMAC-SHA256 over the raw body, timestamp inside the signed string. Anything older than five minutes is refused.
Hosted checkout, your colours
The payment page carries your project's theme, so the handoff does not look like a handoff.
your server → MYFIStep 1
POST https://myfi.jppp365.com/api/v1/checkout
Authorization: Bearer myfi_sk_…

{
  "reference": "ORDER-1042",
  "amountUsd": 49.00,
  "returnUrl": "https://yourapp.com/thanks"
}

→ 201 Created
{
  "id": "cs_9vB2…",
  "url": "https://myfi…/pay/s/cs_9vB2…",
  "status": "open"
}

# Send them to url. Retrying the same
# reference returns this session, not a second one.
MYFI → your serverStep 2
POST https://yourapp.com/api/webhooks/myfi
X-MYFI-Signature: t=1789124523,v1=3a7f9c…

{
  "type": "checkout.confirmed",
  "data": {
    "reference": "ORDER-1042",
    "amountUsd": "49.00",
    "amountPaidUsd": "49.00",
    "chain": "ETHEREUM"
  }
}

# Verify the HMAC, then grant access.
# This is what counts — not the customer
# reaching your success page.

Questions

The things worth asking first

What can my customer actually pay with?

USDT or USDC, on Ethereum, BNB Chain, Tron, Base, Arbitrum or Polygon. They choose at checkout, and the page names the token standard next to each network — ERC-20, BEP-20, TRC-20 — because that is the word their wallet shows them.

Does MYFI ever hold my money?

No. Each payment is forwarded to a wallet you hold the keys to. There is no MYFI balance, no withdrawal to request and no approval to wait for, because at no point do we hold anything of yours to release.

What happens if they send slightly the wrong amount?

The payment is still yours. Because every invoice has its own address, whatever arrives there belongs to that invoice — the page shows what was received and what is still outstanding, rather than rejecting a payment for being three cents short.

And if they pay after the window closes?

It is recorded, not dropped. A transfer that arrives at a project address outside an open window is flagged for reconciling and sits in your wallet until you assign it. Nothing quietly disappears.

Does my customer need an account?

No account, no card, no upload. They open the link, pick a network and send from the wallet they already use. The only thing they need is the coins.

Can I take payments from inside my own product?

Yes — create a checkout session from your server, redirect the customer, and grant entitlement on the signed webhook. It is the shape you already know from hosted checkouts, described in full in the integration guide.

Pick the door that fits

I have something to pay

Open the catalog or your payment link, pick a network, and settle it in under a minute. No account needed.

Go to payments

I want to accept payments

Tell us what you sell and where the money should land. We set the project up with you and hand over the keys.

Stablecoin payments, straight to your wallet