Guides

Stablecoin payout feature copy: launch it without crypto jargon

Stablecoin payout feature copy for your own app: plain labels, speed lines per rail, rate and fee text, status messages and error strings, with examples.

Caio Barbosa

Founder & CO-CEO

Forbes Under 30. One of the leading voices in Fintech & Crypto in Brazil. Writes weekly about stablecoins, payments, and the future of financial infrastructure in Latin America.

Cover image for Lumx blog article: Stablecoin payout feature copy: launch it without crypto jargon
Cover image for Lumx blog article: Stablecoin payout feature copy: launch it without crypto jargon

Stablecoin payout feature copy is the text a fintech writes on its own screens for a payout that runs on a stablecoin, from field labels to status messages. It describes what the sender and the recipient get, in local currency, by rail and with a time, and mentions the stablecoin once, only where a user's question needs it.

The screens belong to your app. The rail underneath is a stablecoin API, covered in what a stablecoin API is, but nobody needs the word to finish a payment.

What should payout copy say instead of crypto jargon?

It should name the outcome the user can check: the currency, the account, the rail and the time. Every crypto term on a payout screen has a plain version that is also more specific.

Jargon on a payout screen, and the line that replaces it

Screen

Jargon or overclaim

Plain line for your app

Send button

"Send USDC"

"Send R$ 10,000.00 to Marina Costa"

Recipient form

"Wallet address"

"Pix key (CPF, CNPJ, email, phone or random key)"

Speed line

"Instant settlement"

"Pix: usually within minutes, any day and hour"

Fee line

"Zero-fee transfers"

"Fee USD 4.00. Recipient gets R$ 10,000.00"

Rate line

"Best rates, always"

"Rate 5.20, locked for 30 seconds"

Status

"Awaiting blockchain confirmation"

"Converting to reais"

Error

"Insufficient token balance"

"You have USD 800.00 available to send"

Marketing

"Bank-free international payments"

"Pay suppliers in Brazil, Mexico and the UK in local currency"

Each line on the right carries something the user can verify. The wider frame is in what stablecoin banking is.

On Lumx, a destination holds the recipient's account details and the relationship to your customer (supplier, employee, relative or self), so the form fields in the right column map to real inputs. For Brazil, the recipient is registered with a Pix (Brazil's instant payment system, run by the Central Bank) key, typed as a CPF (the Brazilian individual taxpayer ID) or another key type. Mexican payouts go to a CLABE (the 18-digit Mexican bank account number) over SPEI (Mexico's interbank transfer system, run by Banxico).

Words for the funds and the account

Call the money by what the user can do with it. A sender sees "Available to send", not "USDC balance", and a recipient sees the amount in their own currency.

For a USD account, write the way a bank statement does: "Account number", "Routing number", "Pay in by ACH or wire". A named virtual account (a local account number issued in the customer's own name, explained in what a named virtual account is) supports that wording honestly.

Two phrases are off limits. Do not call the account "a bank account at" your payments provider, or write "settles through a bank". The provider is custodial infrastructure, not a bank.

On Lumx, a virtual account is a fiat account issued by a banking partner in the customer's name, one currency per account, and a USD account supports ACH, Fedwire and SWIFT on the same account. See named virtual accounts for the product.

How fast can the copy say money arrives?

As fast as the slowest step on that rail, per rail, never one claim for the whole product. A single "arrives in minutes" line is true for Pix and wrong for ACH.

Speed lines per rail, from the Lumx docs read on November 1, 2026 (COP from Lumx's confirmed rail facts and the central bank limit)

Currency

Rail

Source says

Line for your app

BRL

Pix

Instant, 24/7/365

"Usually within minutes, any day and hour"

MXN

SPEI

Instant, 24/7/365

"Usually within minutes, any day and hour"

GBP

Faster Payments (the UK's real-time bank transfer network)

Instant, up to £1M per payment

"Usually within minutes, up to £1,000,000"

EUR

SEPA

Instant, but €100k or more between 4:30 PM and 2:30 AM UK time goes by SEPA Credit Transfer, same or next business day

"Usually within minutes. Large evening payments: same or next business day"

USD

ACH

1 to 2 business days, 2:00 PM ET cut-off

"1 to 2 business days. Send before 2:00 PM Eastern"

USD

FEDWIRE

3:00 PM ET cut-off, same business day, typically within hours

"Same business day, usually within hours. Send before 3:00 PM Eastern"

USD

SWIFT

1 to 5 business days, 3:00 PM ET cut-off

"1 to 5 business days"

COP

Bre-B

Instant, like Pix

"Usually within minutes, up to COP 12,110,000 per payment"

Say "usually": the docs call their timelines processing targets. And when a cut-off exists, tie the time to the sender's clock: a USD payment started at 4:00 PM in São Paulo misses the 3:00 PM Eastern cut-off, so the screen should compute the date.

The Colombian ceiling is the Banco de la República limit of 1,000 UVB per Bre-B (Colombia's instant payment system) payment, COP 12,110,000 in 2026. A larger invoice goes by ACH Colombia, with no time claim until you have your own data.

On Lumx, SEPA routing between the two SEPA schemes is automatic and you always send the rail as SEPA, so the line above is the only place your user meets the difference. The cut-off table is in the docs, and global payments shows the rails by currency.

Rate and fee lines before the user confirms

The confirm screen needs three numbers in plain view: the rate, the fee, and what the recipient gets. Marketing must never show a better number than this screen.

Rate and fee strings, with the field behind each. The fee and lock amounts are illustrative, not Lumx prices

String

What it shows

Where it comes from

"Rate 5.20 (market rate)"

An estimate, no lock

Floating rate, no fee, may move slightly at execution

"Rate 5.20, locked for 30 seconds"

A fixed price with a timer

Locked rate, 30 seconds at no fee

"Rate 5.20, locked for 5 minutes. Lock fee USD 0.20"

A longer hold with its cost

Locked rate of 1 or 5 minutes, which carries a fee

"Fee USD 4.00"

One fee line

Provider fee plus your own partner fee

"Recipient gets R$ 10,000.00"

The amount that lands

The final target amount on the quote

"You pay USD 1,927.08"

The sender's total

R$ 10,000.00 at 5.20 is USD 1,923.08, plus the USD 4.00 fee

Show your own fee as its own line, because a fee buried in the rate reads as a wider spread. The stack is in how stablecoin payout pricing works. When the lock runs out, replace the button instead of silently refreshing: "Your rate expired. Get a new rate".

On Lumx, a floating rate is a reference with no lock, and a locked rate returns an exchange rate id plus an expiry for 30 seconds, 1 minute or 5 minutes, with a fee on the longer two. The partner fee is yours, in basis points, a flat amount or both. Lumx does not deduct a fee from the amount that reaches the recipient on a Pix, SPEI or Bre-B payout, so "Recipient gets" can be literal, although the recipient's own bank may charge them.

Status messages for each stage of a payout

A status message says what is happening to the money in the sender's terms and stops before it promises a result it cannot see. Map each status to one line.

Off-ramp statuses and the line for each

Status

What is happening

Line for your app

TRANSFERRING_STABLECOIN

The payout started and funds left the sender's holding

"Payment started"

TRADING

Conversion to the local currency

"Converting to reais"

TRANSFERRING_FIAT

The local payment is on its way

"Sending to Marina's bank"

SUCCESS

The local payment left the banking partner

"Sent. Her bank may take a moment to show it"

FAILED

The payout did not complete

"We could not send this payment. Reference PAY-48213"

"Sent" is the honest final word: the docs treat an off-ramp as complete once funds leave the banking partner, so "Received" can be false when you print it.

On Lumx, each of these statuses fires a webhook such as offramp.trading or offramp.success, so your app updates the line without polling. The success receipt carries the amounts, the exchange rate and the fees, so the receipt screen reads from it, not from the request.

Error and hold messages

An error line tells the user what to do next, and the API usually says which case you are in. Write one string per error code, and the generic one last.

Error codes on transaction creation, from the Lumx docs, and the line for each

Code

Status

When it happens

Line for your app

INSUFFICIENT_BALANCE

422

Funds too low

"You have USD 800.00 available to send. Lower the amount"

TRANSACTION_LIMIT_EXCEEDED

422

Over the single, daily or monthly limit

"This is above your limit. Send less, or ask for a higher limit"

INVALID_TAX_ID

400

Tax ID rejected by bank validation

"Check the CPF or CNPJ for this recipient"

INVALID_PAYMENT_DESTINATION

400

Destination is invalid

"We could not verify this account. Check the details"

Name CPF and CNPJ (the Brazilian company taxpayer ID) in that string, because "tax ID" alone sends users to the wrong field. For a hold, avoid the word reject: a held payment is waiting for an answer, and "Under review" plus the one thing needed is accurate and calmer. The usual causes behind a rejected payout are in why stablecoin payouts get rejected.

I recommend writing the failed and under-review strings before the success screen. The success copy writes itself, while the other two decide whether a sender trusts the next payment. A failed state that says only "something went wrong" moves the work to your support inbox.

On Lumx, an RFI (request for information, a compliance question that pauses something until it is answered) exists at three levels. A customer RFI fires customer.rfi and an account RFI fires account.rfi, and the statusReason lists the documents at issue, so those lines can name the document. A transaction hold is different: compliance contacts you by email or Slack, usually asking for the relationship between sender and receiver and the purpose of the payment, and today there is no webhook or API event for it. An API flow for transaction RFIs is planned for between the end of 2026 and the first quarter of 2027. So the line for a held payment asks for context, not a file: "Under review. We may need to know who Marina is to you and what this payment is for". And because the docs warn that a transaction with no reply within 24 hours may be refunded to the sender, say so on the screen: "Reply within 24 hours or the payment may be returned to you".

Where the stablecoin gets one sentence

Mention it once, in a how-it-works section or the FAQ. Two versions work.

> Short: "Your payment travels as a dollar stablecoin and arrives as local currency in the recipient's bank account."

> Why: "Pix, SPEI and Faster Payments run every day of the year, so a payment on those rails can land on a weekend."

Check the line against your own flow: "you never hold it" is false if any user can keep a stablecoin balance in your app. Speed and cost claims need data from your own payouts. For coverage, point to the coverage page instead of printing a country count.

Whether special promotion rules apply to your copy depends on what users can do. An app where users send dollars and recipients receive local currency reads as a payment product. An app where users buy, hold or sell stablecoins is a different product, and the rules on how you may advertise it depend on the market. This post does not cite a rule: send counsel the final strings per market and a diagram of who holds funds at each step.

Write each string in the reader's language and keep the rail's own term: a Brazilian recipient sees "Chave Pix", a Mexican one "CLABE". To test the copy, ask a few users what each stage and error line means and what they would do next.

On Lumx, every customer gets a custodial wallet that holds stablecoin between on-ramps and off-ramps, but your app decides whether the user ever sees a stablecoin amount. Hiding it is a product choice you make, and the compliance review above is yours.

When plain copy is the wrong choice

Plain copy is wrong when the user moves the stablecoin themselves: a treasury team withdrawing USDC to an external address needs the network name and the token, because the wrong network loses the funds. It is also wrong when it hides a cost or a required disclosure.

What these strings look like on Lumx

Lumx does not ship your screens: your app writes every string above.

Lumx is stablecoin payments infrastructure for businesses that move money between Latin America and the rest of the world: one API to collect, hold, convert, and pay out in BRL, MXN, COP, USD, EUR, and GBP or in USDC and USDT, over local rails such as PIX, SPEI, PSE, Bre-B, ACH, FEDWIRE, SEPA, and Faster Payments, with SWIFT and on-behalf-of payments and collections (POBO and COBO) in USD, EUR, and GBP, plus named virtual accounts, custodial wallets, and KYB/KYC built in.

Take a Brazilian payout from your app. The sender's customer is approved after KYB (know your business, the verification of a company and its owners), the recipient is a destination with a Pix key and a relationship such as supplier, the quote screen reads a locked rate, and the status line follows the offramp webhooks.

The build side is in how to integrate a stablecoin API.

Methodology and sources

We read these Lumx docs on November 1, 2026 and checked them again on November 2: Transactions, Cut-off times, Exchange rates, Partner fees, Accounts, Destinations, Wallets, Webhooks, Errors, RFI and Coverage. The Bre-B ceiling is from the Banco de la República Circular Reglamentaria Externa DSP-465, Asunto 18, numeral 3.2 (sheet of March 31, 2026). Sample figures and names in the strings are illustrations.

Verified on November 1, 2026. Operational context, not legal, tax, or investment advice.

Cover photo: Dmitrijs Safrans on Unsplash.

  • How do you write stablecoin payout feature copy without crypto jargon?

    Describe the outcome the user can check: currency, account, rail and time. Replace token names and hashes with a line such as "Recipient gets R$ 10,000.00", and mention the stablecoin once. On Lumx, the facts behind each line, such as the locked rate, the status webhooks and the receipt, come from the API, and your app writes the words.

  • Should payout copy mention stablecoins at all?

    Once, where a user's question needs it. If users can hold a stablecoin balance in your app, say so plainly. On Lumx, the custodial wallet holds the stablecoin between conversions, and whether your users see it is your product decision.

  • Can payout copy say the money arrives instantly?

    Only for the fast local rails, and even then "usually within minutes" is safer, because the recipient's bank can hold a payment for review. ACH takes 1 to 2 business days and SWIFT 1 to 5. On Lumx, the cut-off table lists the speed and the deadline per rail, so write one line per rail.

  • What should a payout status message say?

    One plain line per stage: started, converting, sending, sent. Stop at "Sent", because the recipient's bank may still take a moment. On Lumx, the off-ramp moves through transferring stablecoin, trading, transferring fiat and success, and each stage fires a webhook your app can map to a line.

  • Do special marketing rules apply to a stablecoin payout feature?

    It depends on what users can do: sending dollars that arrive as local currency reads as a payment product, while buying, holding or selling stablecoins is a different product with its own advertising rules in some markets. On Lumx, the custodial wallet exists on every customer, but your app decides what the user sees, and counsel should review the final strings per market.

Stay up to date with what Lumx is developing.

Sign up to receive them by email.

Share on socials:

stablecoin-payout-feature-copy-without-crypto-jargon

A

stablecoin-payout-feature-copy-without-crypto-jargon

Stablecoin payout feature copy: launch it without crypto jargon

Copy link

Copied!

stablecoin-payout-feature-copy-without-crypto-jargon

TALK TO OUR TEAM

Ready to transform your business with stablecoins?

Discover how our infrastructure can seamlessly integrate stablecoins into your financial operations quickly, securely, and efficiently.

Guides

In this page

©2026. All rights reserved.

Lumx US OP LLC ("Lumx") is a financial technology and payments infrastructure company. Lumx US OP LLC is a Money Service Business (MSB) registered with the Financial Crimes Enforcement Network (FinCEN) (MSB #31000316459619). Lumx is not a state-licensed money transmitter and does not, in its own capacity, engage in the provision of regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial-institution partners.


Lumx is not a bank, financial institution, payment institution, or custodian of client funds. Certain services made available through the Platform may be provided by duly authorized and regulated third-party partners, in accordance with applicable laws and regulations.

Please refer to Lumx’s Terms of Use and Privacy Notice for further information regarding the conditions governing the use of the Platform and the processing of your personal data.