You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
USDF is the base reserve currency ("core mint"); launchpad currencies are the
user-facing tradable tokens backed by USDF reserves (like memecoins backed by
USDC). The docs previously framed them as parallel holdings, understating the
backing relationship.
- 06: add a "Currency model" section — USDF (MintMetadata with launchpadMetadata
= null) vs launchpad currencies (non-null LaunchpadMetadata: liquidityPool,
coreMintVault USDF backing, price/marketCap in USDF, sellFeeBps), on-chain
bonding-curve price discovery, buy/sell against USDF via SwapPurpose, and the
two distinct senses of "reserves" (pool backing vs the user's USDF balance).
Adds a reserve/pool/token Mermaid diagram.
- glossary: rewrite USDF, launchpad token, and swap; add core mint, bonding
curve, liquidity pool/coreMintVault, reserves, MintMetadata/Token.
- README: reframe the overview around USDF-as-reserve / launchpad-as-circulating.
- features: align cash, tokens (buy/sell vs USDF), and currency-creator rows.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JRVfsXp4HDrDMy7Pbmw9fD
|**cash**| Amount entry for a device-to-device cash bill |`cash/CashScreen.kt` · `…/internal/CashScreenViewModel`|**VM-driven**; combines token + balance + rate flows, emits `PresentBill`, calls `SessionController.showBill`|
35
+
|**cash**| Amount entry for a device-to-device cash bill (sends the selected token — a launchpad currency or USDF) |`cash/CashScreen.kt` · `…/internal/CashScreenViewModel`|**VM-driven**; combines token + balance + rate flows, emits `PresentBill`, calls `SessionController.showBill`|
36
36
|**scanner**| Camera capture of a peer's cash bill / QR |`scanner/ScannerScreen.kt`| Screen-local; uses `:ui:scanner`, routes scans through `Router.classify`|
37
37
|**direct-send**| Send to a contact / phone number |`directsend/SendFlowScreen.kt` · `…/internal/SendFlowViewModel`|**Flow**; contact list + phone gate steps |
|**tokens**| Token info, selection, and swaps |`tokens/TokenInfoScreen.kt`, `tokens/SwapFlowScreen.kt`, `tokens/TokenSelectScreen.kt`|**Flow** for swap (`FlowRouteWithResult<SwapResult>`); screen-local for info/selection |
48
-
|**currency-creator**| Create a launchpad currency |`currencycreator/CurrencyCreatorFlowScreen.kt` · `…/internal/CurrencyCreatorViewModel`|**Flow**; name → icon → info → processing steps |
47
+
|**tokens**| Token info (price/market cap in USDF), selection, and buy/sell swaps against USDF |`tokens/TokenInfoScreen.kt`, `tokens/SwapFlowScreen.kt`, `tokens/TokenSelectScreen.kt`|**Flow** for swap (`FlowRouteWithResult<SwapResult>`, `SwapPurpose.Buy`/`Sell`); screen-local for info/selection |
48
+
|**currency-creator**| Create a launchpad currency (USDF-backed), seeded by an initial USDF buy |`currencycreator/CurrencyCreatorFlowScreen.kt` · `…/internal/CurrencyCreatorViewModel`|**Flow**; name → icon → info → processing steps |
Copy file name to clipboardExpand all lines: docs/architecture/glossary.md
+10-5Lines changed: 10 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,12 +8,16 @@ full story.
8
8
9
9
| Term | Meaning | See |
10
10
|------|---------|-----|
11
-
|**USDF**| The USD-pegged stablecoin users primarily hold and transact in. |[README](README.md)|
12
-
|**Launchpad token / currency**| A custom on-chain currency (governed by an on-chain bonding curve) that users can create and trade, in addition to USDF. |[06](06-payments-and-operations.md)|
13
-
|**Cash bill**| The animated, circular on-screen code that represents a payment for **device-to-device** transfer — one phone shows it, another scans it. |[README](README.md), [features](features/README.md)|
11
+
|**USDF**| The USD-pegged **base / reserve** stablecoin (the "core mint"). Everything is priced in and backed by USDF; it is itself sendable. In code: a `Token` with `launchpadMetadata = null`. |[06](06-payments-and-operations.md)|
12
+
|**Launchpad token / currency**| The user-facing, tradable currency people **create, buy, sell, and share** — a custom on-chain token **backed by USDF reserves** and priced by an on-chain bonding curve. Like a memecoin backed by USDC. |[06](06-payments-and-operations.md)|
13
+
|**Core mint**| The codebase's name for USDF — the reserve currency that launchpad currencies are denominated in and backed by. |[06](06-payments-and-operations.md)|
14
+
|**Bonding curve**| The on-chain formula that sets a launchpad currency's price from its circulating supply (`price = f(supply)`, in USDF). |[06](06-payments-and-operations.md)|
15
+
|**Liquidity pool / `coreMintVault`**| A launchpad currency's bonding-curve pool; its `coreMintVault` holds the **USDF reserves** backing the token (vs `mintVault`, which holds the token). |[06](06-payments-and-operations.md)|
16
+
|**Reserves**| Two senses: (1) on-chain USDF backing a token in its `coreMintVault`; (2) the **user's own USDF balance** (`observeReservesBalance()`) spent to buy launchpad currencies. |[06](06-payments-and-operations.md)|
17
+
|**Cash bill**| The animated, circular on-screen code that represents a payment for **device-to-device** transfer — one phone shows it, another scans it. Carries any token (a launchpad currency or USDF). |[README](README.md), [features](features/README.md)|
14
18
|**Kik Code**| The scannable code format rendered as a cash bill (captured via the camera scanner). |[07](07-design-system.md)|
15
19
|**On-ramp**| Funding the wallet with fiat (Coinbase) or in-app purchase. |[04](04-networking.md), [06](06-payments-and-operations.md)|
16
-
|**Swap**|Exchanging one token for another (e.g. via a launchpad currency's curve). |[03](03-navigation.md), [06](06-payments-and-operations.md)|
20
+
|**Swap**|Buying or selling a launchpad currency **against USDF** (`SwapPurpose.Buy`/`Sell`); sells charge a ~1% fee. |[03](03-navigation.md), [06](06-payments-and-operations.md)|
17
21
|**Withdrawal**| Moving funds on-chain to an external Solana address. |[features](features/README.md)|
18
22
19
23
## Identity, keys & accounts
@@ -40,7 +44,8 @@ full story.
40
44
|**OCP / Open Code Protocol**| The gRPC backend for transactions, intents, swaps, and exchange rates (module `:services:opencode`). |[04](04-networking.md)|
41
45
|**Flipcash service**| The gRPC backend for accounts, profiles, chat, and activity (module `:services:flipcash`). |[04](04-networking.md)|
42
46
|**Intent**| A signed unit of money movement (transfer, remote send/receive, withdraw, swap, distribution) submitted over the `SubmitIntent` bidirectional stream. |[04](04-networking.md), [06](06-payments-and-operations.md)|
43
-
|**Mint**| A Solana token mint address (`PublicKey` subtype); identifies a token such as USDF or a launchpad currency. |[06](06-payments-and-operations.md)|
47
+
|**Mint**| A Solana token mint address (`PublicKey` subtype); identifies a token such as USDF (`Mint.usdf`) or a launchpad currency. |[06](06-payments-and-operations.md)|
48
+
|**MintMetadata / Token**| The model for any currency (`MintMetadata`, aliased `Token`). A non-null `launchpadMetadata` makes it a launchpad currency; `null` means it's USDF (the core mint). |[06](06-payments-and-operations.md)|
44
49
|**Protobuf / proto**| The Protocol Buffers contract; generated code lives in `:definitions:*:models` and is never hand-edited. |[13](13-protobuf-and-codegen.md)|
45
50
|**NotifiableError**| Marker for errors that represent bugs (not user-caused) and should alert via Bugsnag/Slack. |[14](14-error-handling.md)|
0 commit comments