Skip to main content
A payment link is a URL you share with a client so they can pay you. When a client opens the link, they see a payment page that displays the amount you set, the purpose of the payment, and a button to connect their Freighter wallet and send funds. You generate payment links from your dashboard, and each link is tied to a specific workflow stage so you always know what a payment is for. Each payment link carries three pieces of information:
  • Amount — Either a fixed XLM amount you specify, or a flexible amount the client enters themselves. Fixed-amount links are useful for invoices and onboarding fees. Flexible-amount links let clients choose what to pay, which suits donations or variable-rate agreements.
  • Memo — A unique identifier Hypertron generates for every link. This memo is what attributes the payment to your account and workflow stage when it arrives at the pool. The memo follows the format hpl_[timestamp_base36]_[random], for example hpl_m7k2d_r9f3xz1q.
  • Destination pool address — The shared Stellar pool account where all payments land. Your clients pay this address, not a wallet you control directly.
You never need to share the memo or pool address with your client — they are embedded in the payment link automatically. Your client only needs to open the URL and connect their wallet.
Every payment link has a URL in the format:
https://your-hypertron-domain.com/pay/[linkId]
The linkId is a unique identifier generated when you create the link. You can share this URL by email, messaging app, QR code, or embed it in your onboarding flow. Hypertron also provides a QR code payload for each link so you can display it digitally or print it.

How a client completes a payment

1

Open the link

The client opens the payment URL in their browser. They see the payment purpose, the amount (or a field to enter an amount if the link is flexible), and a prompt to connect their wallet.
2

Connect Freighter

The client clicks Connect with Freighter and approves the connection in their Freighter browser extension. Freighter is the standard Stellar wallet for web applications — no account login is required.
3

Review and pay

The client reviews the payment details — amount, destination, and memo — then clicks Pay. Freighter shows a transaction confirmation dialog before anything is sent.
4

Confirm

The client approves the transaction in Freighter. The payment is submitted to the Stellar network as a classic XLM payment to the pool address, with the memo attached. No Soroban contract interaction is required from the client’s side.
After the client pays, Hypertron detects the payment on Horizon (Stellar’s API layer), reads the memo, and credits your virtual balance. Your dashboard updates to show the payment as confirmed.

Fixed vs. flexible amounts

Fixed amount

You set the exact XLM amount when creating the link. The client’s payment page shows this amount and they cannot change it. Best for invoices, subscription fees, and onboarding payments where the amount is known in advance.

Flexible amount

You create the link without specifying an amount. The client enters how much they want to pay on the payment page. Best for donations, variable-rate agreements, or situations where the amount is negotiated separately.

Memo format and workflow attribution

The memo Hypertron generates for each payment link is what ties a payment to your specific workflow. The format is:
hpl_[timestamp_base36]_[random]
For example: hpl_m7k2d_r9f3xz1q
  • hpl_ is a fixed prefix that identifies this as a Hypertron payment link memo.
  • The timestamp component (base-36 encoded) encodes when the link was created, making every memo time-stamped and unique.
  • The random suffix adds additional uniqueness to prevent collisions.
Hypertron guarantees that no two active links share the same memo. If a collision is detected during link creation, a new memo is generated automatically.
Do not modify or truncate the memo when sharing payment links. If the memo is altered or missing, Hypertron cannot attribute the payment to your account, and the funds will not appear in your virtual balance.
When you create a payment link from the dashboard, you can set the following fields:
FieldRequiredDescription
AmountYes (or flexible)Fixed XLM amount, or leave empty and enable flexible amount
PurposeOptionalA description of what the payment is for, shown to the client
Client nameOptionalName of the intended recipient — for your records
Workflow stageOptionalWhich step in your onboarding flow this payment belongs to
Use the workflow stage field to organize payments by phase — for example, “KYC fee”, “deposit”, or “agreement signing”. This makes your payment history easier to track from the dashboard.

Create a payment link

Step-by-step guide to generating your first payment link.

Private payments

Learn how the shared pool model keeps payer addresses private.