Skip to main content
When you share a Hypertron payment link with a client, they open a self-contained payment page that guides them through connecting their Stellar wallet and sending the exact amount. You never see their wallet address — Hypertron uses a memo-based attribution system to match the on-chain payment to the correct link and update your virtual balance automatically.

What your client sees

The payment page at /pay/{linkId} shows:
  • The purpose and client name you set when creating the link
  • The amount in XLM (or an amount input field if the link is flexible)
  • A Connect Freighter button to connect their Stellar wallet
  • The destination address (Hypertron’s shared pool) and the pre-filled memo
Clients must have the Freighter browser extension installed. Hypertron uses Freighter to request the transaction signature — no private keys are ever exposed to Hypertron.

The payment flow, step by step

1

Client opens the payment link

Your client visits the URL (e.g. https://your-domain/pay/clx9z2a0f...) in any browser with Freighter installed. The page loads the link details from Hypertron and displays the amount and purpose.
2

Client connects Freighter

Clicking Connect wallet triggers the Freighter permission prompt. Once the client approves, their public key is used only to pre-fill the transaction — it is never stored or shared with you.
3

Client reviews and signs the transaction

Freighter shows the transaction details:
  • Destination: Hypertron’s shared pool address (GXXXXXX...)
  • Amount: the XLM amount from the link (or the amount the client entered for flexible links)
  • Memo text: the link’s unique hpl_ memo (e.g. hpl_lf2k3x_a9bc12de)
The client clicks Confirm in Freighter to sign and broadcast the transaction to the Stellar network.
The memo is automatically pre-populated. If a client manually edits the memo before signing, attribution will fail and the payment will not appear in your dashboard. Make sure clients do not modify the memo field in Freighter.
4

Hypertron detects the payment

Hypertron monitors the Stellar Horizon event stream for the pool account. When it detects an incoming payment, it reads the transaction memo and looks up the matching payment link.
5

Attribution and commitment

Once the payment is matched, Hypertron:
  1. Generates a Poseidon commitment from the payment data
  2. Generates a nullifier unique to this payment
  3. Registers both on-chain via the Soroban PoolManager contract
  4. Marks the payment link as paidAt with the transaction hash
  5. Credits your virtual balance with the received amount
This happens automatically with no action required from you.
6

You see confirmation in the dashboard

In Dashboard → Payment Links, the link row updates to show a Paid status badge along with the payment timestamp. Your overview balance increases by the received amount.

How memo attribution works

Every payment link carries a unique memo in the format hpl_{timestamp_base36}_{random_suffix}. For example: hpl_lf2k3x_a9bc12de. When a payment lands in the pool, Hypertron reads the memo field of the Stellar transaction and queries the database for a link with a matching linkMemo. This is the only mechanism that ties a Stellar payment to your business — no wallet addresses are logged or compared.
Client wallet  →  Pool (GPOOL...)  →  Horizon event detected
                       memo: hpl_lf2k3x_a9bc12de

                    Match → payment link record

                    Poseidon commit + nullifier registered

                    Virtual balance updated  ✔
Because attribution is memo-only, your business never learns the payer’s wallet address. An on-chain observer can see that funds entered the pool, but cannot determine which business received them or link inflows to outflows.

Privacy guarantees

ActorCan seeCannot see
You (the business)Payment confirmed, amount, workflow stagePayer wallet address
Your clientPayment sent to poolYour balances or withdrawal activity
On-chain observerPool received XLMWhich business or link it belongs to

Viewing payments in the dashboard

Go to Dashboard → Payment Links to see all your links and their payment status. Each row shows:
  • Status: Unpaid or Paid
  • Amount: XLM amount for the link
  • Purpose / client name: what you entered when creating the link
  • Paid at: timestamp of the confirmed Stellar transaction
  • Payment TX hash: the Stellar transaction hash, useful for on-chain verification
You can cross-reference a payment’s paymentTxHash on Stellar Expert (stellar.expert) if you need independent confirmation that the on-chain transaction occurred.

Payment events and confirmation timing

Stellar transactions confirm in roughly 3–7 seconds under normal network conditions. Hypertron’s Horizon listener picks up the event within seconds of ledger close. In practice, you should see the Paid status appear in your dashboard within 10–15 seconds of your client clicking Confirm in Freighter. If a payment does not appear after a few minutes, check:
  1. The client completed the Freighter signing step (not just connected their wallet)
  2. The memo was not altered before signing
  3. The Stellar network is not experiencing unusual congestion (visible on dashboard.stellar.org)