NEO Trading Engine — Micro-Live Operational Readiness¶
Pre-session preparation checklist for first XRPL live execution. Complete all phases before Session 1. Designed for first-time XRPL live deployment.
Phase 1 — Wallet Setup¶
Step 1.1 — Choose wallet type¶
Use Xaman (formerly XUMM). Non-custodial, XRPL-native, hardware-secured keys, built-in trust line management. Do not use exchange wallets or any wallet where you don't control the seed.
Step 1.2 — Generate wallet¶
- Download from official source only: xaman.app
- Create a new wallet — do not import an existing seed for a live trading wallet
- App will generate a 12 or 24-word seed phrase
Step 1.3 — Secure the seed (non-negotiable)¶
- Write seed phrase on paper. Two copies. Store in separate physical locations.
- Never photograph it.
- Never type it into any device other than the wallet itself.
- Never store it in cloud services, email, notes apps, or password managers.
- Never share it with anyone or any software.
- The seed phrase IS the wallet. There is no recovery without it.
What NOT to do¶
- Do not use the same wallet for live trading and development/testing
- Do not fund the wallet before the seed is secured
- Do not store mainnet keys in plaintext config files — use environment variables, secrets file excluded from version control
Phase 2 — Funding and Reserves¶
Step 2.1 — Reserve requirements¶
XRPL locks XRP as reserve. Current requirements: - Base reserve: 2 XRP (permanently locked) - Owner reserve: 0.2 XRP per object (each trust line and open offer = 1 object)
Session 1 minimum locked: 1 trust line + 2 open offers = 3 objects × 0.2 + 2 base = ~2.6 XRP
Step 2.2 — Recommended funding¶
- Fund with: reserves + trading float + buffer
- Suggested: 10–15 XRP to start (~7–10 XRP available after reserves)
- Acquire RLUSD separately for the RLUSD side of starting allocation
Step 2.3 — Keep buffer¶
Never commit all available XRP to orders. Keep at least 3–4 XRP uncommitted at all times.
Phase 3 — RLUSD Trust Line¶
Step 3.1 — Establish trust line¶
In Xaman: Settings → Trust Lines → Add Trust Line
- Issuer: verify current RLUSD issuer address from Ripple's official documentation before use
- Currency code: RLUSD
- Limit: set high enough to cover intended balance (e.g., 1000)
Step 3.2 — Verify trust line active¶
- In Xaman: RLUSD appears in asset list (even at 0 balance)
- On XRPScan: search wallet address → Balances tab → RLUSD listed with trust line active
Step 3.3 — Confirm balance visibility¶
After funding RLUSD: - Balance visible in Xaman - Balance visible on XRPScan - Both match
Phase 4 — Balance Verification¶
Step 4.1 — Verify via Xaman¶
- XRP available balance (excluding reserve)
- RLUSD balance
- No unexpected open offers
Step 4.2 — Verify via XRPScan (xrpscan.com)¶
- Search wallet address
- Check: XRP balance, RLUSD balance, trust lines, open offers
Correct starting state¶
- XRP: enough for reserves + trading float
- RLUSD: target starting allocation (~$50–75 for Session 1)
- Trust line: RLUSD active, visible, limit set
- Open offers: zero
- Network: mainnet
Phase 5 — Minimum Viable Order Size Test¶
Perform manually at least 24 hours before Session 1.
Step 5.1 — Place a small offer manually¶
Using Xaman or DEX interface (xmagnetic.org or similar): - Place a buy offer: ~$3 RLUSD worth of XRP priced near mid, not aggressive (do not cross the spread — a marketable order fills immediately and doesn't test order book placement) - Record: transaction hash, offer sequence number
Step 5.2 — Confirm offer on book¶
- XRPScan → wallet address → Open Offers tab
- Offer appears with correct size and price
Step 5.3 — Cancel the offer¶
- Cancel via Xaman or DEX interface
- Confirm on XRPScan: offer no longer in Open Offers
Step 5.4 — Evaluate and decide sizing¶
| Result | Action |
|---|---|
| Offer placed, appeared, cancelled cleanly at $3 | Proceed with $3–5 per-order sizing |
| Offer rejected or rounding issues at $3 | Retest at $5–10 |
| Rejection at $5–10 | Do not proceed — investigate minimum constraints first |
Phase 6 — Pre-Flight Validation¶
Complete immediately before starting the engine for Session 1.
- Zero open offers on wallet (verified on XRPScan)
- XRP and RLUSD balances match expected starting state
- RLUSD trust line active and visible
- Correct wallet address loaded in engine config
- Engine connecting to mainnet (verify node URL matches expected provider — not testnet)
- Maximum 1 open buy + 1 open sell at any time (single offer per side — no stacking)
- System clock correct (no significant drift — markout timing depends on accurate timestamps)
-
max_inventory_usdset to micro-live value - Per-order sizing set to $3–5
- Kill-switch thresholds loaded and active
- Inventory control layer active (soft gates 60/40%, hard stop 70/30%)
- Participation filter enabled (Phase 4A config unchanged)
- Operator present and will remain present for full session
- Rollback procedure reviewed and understood
Critical Failure Points¶
| Failure | Cause | How to catch it |
|---|---|---|
| Seed compromised | Stored digitally, photographed, or entered online | Prevention only — no recovery |
| Wrong network | Engine pointed at testnet | Pre-flight node URL check |
| Orphaned offers | Engine crash without cleanup | XRPScan open offers check before and after every session |
| Insufficient reserve | Too little XRP uncommitted | Reserve calculation before funding |
| Trust line missing | RLUSD not configured | Balance verification step |
| Order rejection at $3–5 | Below minimum viable offer | Manual test (Phase 5) catches this |
| Rounding / precision issues | XRP denominated in drops (1 XRP = 1,000,000 drops) | Manual test (Phase 5) catches this |
| Stale connectivity | Node disconnected mid-session | Ledger index monitoring during session |
| Engine state / on-chain mismatch | Crash or connectivity loss | Always verify on-chain after any unexpected stop |
| Orphaned offers after connectivity loss | Engine goes down without cancelling orders | Immediately verify and cancel all open offers on XRPScan before any reconnect or restart attempt — do not rely on engine state |
Minimum Order Size Strategy¶
- XRP is denominated in drops (1 XRP = 1,000,000 drops). Offers must be in whole drops.
- At current prices (~1.34–1.35 XRP/RLUSD), $3 RLUSD ≈ 2.2 XRP — well above dust thresholds.
- Primary sizing: $3–5 per side
- Fallback sizing: $5–10 per side (if primary rejected)
- If fallback also fails: do not proceed until constraint is understood
The manual test (Phase 5) is the only reliable way to confirm viability at current prices. Do not skip it.
Notes¶
- Reserve requirements can change via XRPL governance (fee voting). Verify current values at xrpl.org before funding.
- RLUSD issuer address must be verified against Ripple's official documentation. Do not rely solely on this document.
- Manual order test consumes ~0.00001 XRP per transaction in fees. Expected and negligible.
- Never store seed phrase or private key in a plaintext config file. Use environment variables. Add secrets file to
.gitignorebefore any commit touching live credentials. - Do not assume engine state reflects on-chain state after any unexpected stop — always verify on XRPScan.
Authored: 2026-04-10. Complete all phases before Session 1. Do not skip Phase 5 (manual order test).