Case study: Barb Dwyer’s ice cream shop ($100k, 51% / 49%)

A story-driven walkthrough of how you could mirror this capital structure using this site’s XRPL Testnet tools — not legal or tax advice. The ledger records balances and offers; your operating agreement still defines who owns what, how profit is measured, and how dividends work.

The business story

← XRPL RWA overview · Open tokenization lab · Marketplace / DEX page

Barb Dwyer is opening Dwyer’s Creamery, a single-location ice cream store. She needs USD 100,000 in startup capital (build-out, equipment, permits, opening inventory). She wants to keep 51% economic interest in the venture and bring in Ty Coon as an investor for the other 49%, represented as on-ledger token units for this exercise.

Dividends (off-chain policy, on-chain payout): after revenue comes in and expenses are paid (including agreed “business improvement” reinvestment), profit is split 51% to Barb and 49% to Ty under their contract. The XRPL does not calculate profit; Barb’s accountant (or Ty) agrees the number, then you use payments to move value — typically native XRP on Testnet, or in production whatever asset your counsel allows.

How this maps to “tokenization” here

  • Issuer account = the company registrar wallet Barb controls on-chain (it mints the IOU that stands in for “Creamery shares” in this demo).
  • Holder account(s) = wallets that hold the IOU. Ty is one holder. For Barb’s 51% on-ledger, you want a second holder-class wallet (Barb’s personal/founder wallet), not the issuer account, so ownership reads like two investors on the same token line.
  • Cap table on-chain: pick a whole number of units (example: 1,000,000 “ICE” units). Issue 510,000 to Barb’s holder wallet and 490,000 to Ty’s — that is exactly a 51/49 split of the minted float.
  • $100,000 raise: the USD 100,000 lives in your subscription agreement and bank wires; the lab only stores a text note (Step 2). Ty’s wire does not auto-magically appear as XRP — you model distributions later with Step 5 payments.

Step-by-step in this app (what to enter & click)

Open XRPL Tokenization and connect Testnet when prompted. Below, each subsection matches a tab in the lab.

Step 1 — Wallets & Faucet

Goal: Create three Testnet identities: issuer (company), Ty’s holder, and Barb’s founder holder. The UI only shows two seed panels at once — use the faucet twice for Ty and Barb, and keep Barb’s founder seed in your notes before you overwrite the holder field, or fund Ty first, copy seeds to a password manager, then fund Barb.

  1. Under Issuer wallet, click Create funded issuer (faucet). Copy the issuer public address somewhere safe — that is your on-chain “registrar” for ICE.
  2. Under Investor / holder wallet, click Create funded holder (faucet). Treat this as Ty’s wallet first. Click Load holder and confirm balance/sequence lines populate.
  3. Save Ty’s seed from the field, then click Create funded holder (faucet) again in a fresh session tab or manually create another Testnet wallet externally — for a clean tutorial, the simplest path is: finish Ty’s flow in one browser session, write down seeds, then start a second session for Barb’s founder wallet. For a single session, paste Ty’s seed into notes, then use Create funded holder again to replace with Barb’s holder seed (you must not lose Ty’s seed).
Screenshot placeholder — Step 1 (replace later).

Step 2 — Asset & Documents

Goal: Off-chain record of what the token is supposed to mean.

  • Asset display name: e.g. Dwyer’s Creamery LLC — Class A participation (demo)
  • Appraised / notional value: e.g. USD 100,000 capital raise; 1,000,000 ICE units; Barb 51% / Ty 49%
  • Description / terms summary: paste a short version of: operating agreement, dividend waterfall (revenue → expenses → improvements → profit split 51/49), and that ICE is a Testnet stand-in for equity-like interests.
  • Optionally upload a PDF (term sheet) via Legal & Supporting Documents.
Screenshot placeholder — Step 2.

Step 3 — Issuance & Trust

Goal: Define currency ICE, set issuer flags, open trust lines, authorize holders if using RequireAuth, then mint 510k / 490k.

  1. Currency code (issued IOU): enter ICE (three letters).
  2. Click Apply issuer flags (DefaultRipple + RequireAuth) or, if you prefer open holding, use only DefaultRipple in a future build — today’s button sets both (see overview help).
  3. Trust limit (for whoever is currently loaded as holder): enter e.g. 1000000. Click Holder: create trust line to issuer (now to the right of the limit field).
  4. If you used RequireAuth: click Issuer: authorize holder (tfSetfAuth) for Ty’s r… address (shown after Load holder).
  5. Mint / send to holder: Issue amount (token): 490000 → click Mint / send to holder to move Ty’s 49%.
  6. Switch the holder seed to Barb’s founder wallet, click Load holder, repeat trust line + authorize if needed, then issue 510000 for Barb’s 51%.
Screenshot placeholder — Step 3.

Step 4 — DEX & Liquidity (Optional)

Goal: If Ty (or Barb) should be able to sell ICE for XRP on the order book, post an offer. Otherwise skip.

  • Token amount to place on book: e.g. portion of Ty’s balance Ty is willing to sell.
  • Ask (XRP received if filled): total XRP Ty wants if that whole ICE amount clears.
  • Choose whether to sign with holder vs issuer checkbox, then Place DEX offer. Use Cancel sequence # + Cancel offer to tear down a mistake.

For a public discovery page with name/description in a database, use RWA DEX & marketplace (admin adds the listing with issuer r… + ICE).

Screenshot placeholder — Step 4.

Step 5 — Settlement, XRP Transfer & On-Chain Data

Goal: Model dividends as explicit payments after you have computed profit off-chain.

  • Suppose distributable cash for the period is D (USD in real life). Your agreement sends 0.51×D to Barb and 0.49×D to Ty. On Testnet, convert that story into two XRP amounts (rough illustration only).
  • Send XRP (uses issuer seed): set Destination r-address to Ty’s public address, Amount (XRP) to Ty’s share, click Send XRP. Repeat for Barb’s address with her share (or Barb sends from a treasury wallet you control — the important part is two deliberate payouts matching 49/51 of the agreed pool).
  • Return tokens to issuer (redemption): use if your agreement buys back ICE (e.g. Ty exits under a buyback clause).
  • Use Load trust lines / offers / recent transactions to prove what the ledger shows after each quarter’s distribution.
Screenshot placeholder — Step 5.

What XRPL did not automate

Revenue recognition, expense categories, “business improvement” caps, tax withholding, and board approval of dividends stay in accounting and governance. Your code gives Barb a reproducible checklist for issuance, permissions, trading, and payouts — the business truth still lives in contracts and books.

📡
Reconnecting
Trying to reconnect to server...
Attempt 1 of 12