This sandbox teaches you the model of a Turkish TRY ⇄ USDC ramp. A production anchor keeps the concepts and changes the mechanics — in predictable ways. This page lists what carries over unchanged and what a production anchor makes real behind the same SEP surface, so you know what to expect before you ship.
Everything here is generalized from how production Turkish anchors and exchanges run a TRY ⇄ USDC ramp. Every anchor differs in detail — when yours publishes its stellar.toml and docs, those win.
SEP → production: mostly a config change. You built on the SEP path, so going live changes only two things: the network passphrase (public) and the home domain (the real anchor's). The SEP-1/10/6/12/38 endpoint shapes are the standard and do not change, so your transport and wire calls stay the same. The one dependency: the mainnet anchor must implement SEP-6. What you do build on your side: the real KYC step — collecting and submitting SEP-12 fields, handling the NEEDS_INFO loop — and rendering the extra statuses/rejections a production anchor returns. Everything below is what the anchor makes real behind that same standard surface.
What carries over unchanged
The deposit-reference model. TRY still arrives by bank transfer to the anchor's IBAN with a reference code in the description (açıklama). Matched → credited; unmatched → a support path. Your UI for "show IBAN + reference" survives as is.
Balance-and-ledger thinking. Fiat in → balance → convert → on-chain out (and the reverse). Reconciliation reads a ledger/transaction list.
Quote → execute. A priced offer with an expiry, then a commitment against it.
Address + memo routing for incoming crypto on Stellar, and IBAN payouts for fiat out.
Status machines. Every transaction walks named states; your job is to render and react to all of them, including the ugly ones (unmatched, refunded, failed).
What will likely change
The endpoint shapes don't change; the anchor makes what was simulated real. On your side that mainly means implementing the real SEP-12 KYC step and handling the extra statuses below — not re-plumbing the ramp.
1 · KYC and compliance become real (SEP-12)
Here SEP-12 auto-approves and stores no personal data. A production anchor verifies a real identity through the same SEP-12 endpoint, and adds compliance fields the standard already carries:
Real identity data collected and verified before ramping; KYC tiers that set your limits.
Travel rule: originator information on crypto deposits (name, address ownership, VASP fields).
Purpose & source of funds on withdrawals; 2FA on sensitive steps; compliance rejections as first-class states.
Pre-registration: withdrawal addresses and bank accounts may need to be saved and verified before use.
2 · Real bank rails replace the simulate step
The simulate-bank-transfer helper disappears. A real TRY bank transfer to the anchor's IBAN, with the reference in the açıklama, credits the deposit — you observe it move the SEP-6 transaction to completed, you do not trigger it. The unmatched-transfer support path still matters, so keep that UI.
3 · Live pricing (SEP-38)
Real quotes: SEP-38 prices come from a real order book, expire faster, and move with liquidity; commissions may be tiered by volume.
Fees as line items: network withdrawal fee, spread / commission, sometimes a fixed payout fee — not one blended spread.
4 · Limits and operations
Limits: per-transaction and per-tier minimums/maximums on every leg.
Rate limits (HTTP 429) with backoff; idempotency discipline on writes.
Real incident behaviour: maintenance windows (503), partial outages, delayed settlement. Your state machine, not your happy path, is the product.
5 · Money details
Mainnet USDC issuer is GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN — trustlines, treasury addresses and explorers all change; never hardcode the testnet issuer.
All of this is discovered from the mainnet anchor's stellar.toml, exactly as on testnet.
Sandbox step → production equivalent
In this sandbox
In production
SEP-10 login with a testnet key
SEP-10 login, same shape — only the network passphrase and home domain change
SEP-12 KYC (auto-approved, no data stored)
Real identity verification + travel-rule originator info
SEP-6 deposit here (simulated bank)
Real bank transfer + real KYC before the USDC is paid
Play the bank: POST /sep6/tx/{id}/simulate-bank-transfer
— (a real TRY bank transfer arrives; no simulate endpoint)
SEP-38 quote (indicative rate + flat spread)
Live order-book quote: shorter TTL, tiered commission, fees as line items
SEP-6 withdraw here (USDC → simulated FAST payout)
Real USDC received + real fiat payout with compliance checks