Lab 1 — Fake Stablecoin Transfer
Your family wants to send you money. Complete the safety check before the imaginary transfer.
| Type | Examples | What for? |
|---|---|---|
| Payment/Store of value | Bitcoin | Peer-to-peer value transfer, scarce supply narrative |
| Smart-contract platforms | Ethereum, Solana | Programmable apps/DeFi/NFTs |
| Stablecoins | USDC, USDT | Dollar-like token for trading and payments |
Start here for a practical explanation of how ordinary websites, digital wallets, blockchain networks, smart contracts, stablecoins, and NFTs connect.
| Dimension | Bitcoin (BTC) | USD Stablecoins (USDT/USDC/…) |
|---|---|---|
| Goal / Design | Decentralized, scarce digital asset; peer-to-peer cash vision; “digital gold” narrative. | Track $1.00; payment/settlement rail with dollar-like price. |
| Price behavior | Free-floating, volatile. | Pegged to $1 via reserves + redemption; low volatility if reserves/liquidity hold. |
| Backing | No issuer; value comes from consensus & scarcity (code/economics). | Fiat-backed (cash/T-bills/MMFs) or crypto-collateralized; issuer promises redemption. |
| Supply policy | Capped 21M; issuance halves \~4y (proof-of-work). | Elastic: minted/burned vs. dollars deposited/redeemed with issuer. |
| Who runs it? | Open network of miners/nodes; no company in charge. | Issuer/company or DAO + custodians; subject to legal terms and regulators. |
| Security base | Proof-of-work hashpower; highly censorship-resistant. | Trust in issuer reserves, banking partners, and smart-contract design. |
| Best use cases | Long-term holding, censorship-resistant transfers, diversification thesis. | Payments, trading collateral, 24/7 settlement, cross-border dollar rails. |
| Key risks | Volatility; regulatory climate; custody mistakes. | Reserve quality/liquidity; de-peg/run risk; counterparty/legal risk; smart-contract risk. |
| M1/M2 linkage | Buying BTC with deposits reduces bank deposits; not counted in M1/M2. | Tokens not in M1/M2; deposits can shift to issuer reserves (T-bills/MMFs or bank deposits). |
Tip: If your LMS blocks iframes, keep the buttons above so students can open the games in a new tab.
🎥 Quick explainer on Stablecoins — watch this first
A token designed to track a reference (usually the U.S. dollar). Users like the “crypto-speed” of transfers with less price volatility.
| Model | Backing | Notes |
|---|---|---|
| Fiat-backed | Cash, bank deposits, T-bills, MMFs | Redeemable $1 in/$1 out with the issuer. Needs audits, liquidity, risk controls. |
| Crypto-collateralized | On-chain collateral (e.g., ETH) | Over-collateralized; can be volatile; uses smart-contract rules/liquidations. |
| Algorithmic | Rules/market incentives | No (or partial) collateral; historically fragile under stress. |
They can, but via equity in the issuing company or protocol tokens, not by printing money. The economic value comes from trust, compliance, banking rails, distribution and risk management.
| Token | Type | Issuer/Manager | Typical Reserves | Redemption | Notes |
|---|---|---|---|---|---|
| USDT | Fiat-backed | Tether | Cash, T-bills, MMFs (mix evolves; see attestations) | KYC’d customers via issuer | Largest by market cap; widely used on exchanges. |
| USDC | Fiat-backed | Circle (Centre) | Cash & short-dated U.S. Treasuries (segregated accounts/funds) | KYC’d customers via issuer | Heavy institutional/FinTech integrations. |
| DAI | Crypto-collateralized (hybrid) | MakerDAO | On-chain collateral + real-world assets (indirect T-bill exposure via custodial wrappers) | On-chain mint/redeem mechanisms | Over-collateralized model with liquidations. |
| PYUSD | Fiat-backed | PayPal (issued by Paxos) | Cash & U.S. Treasuries | PayPal/Paxos per terms | Payments-focused integrations. |
| USDP / GUSD | Fiat-backed | Paxos / Gemini | Cash & U.S. Treasuries | Issuer redemption for KYC’d users | Smaller, regulated-issuer models. |
UST was an algorithmic “stablecoin” that tried to hold $1 using mint/burn with LUNA — no hard dollar collateral.
Terra used an algorithmic peg: traders could swap 1 UST ↔ $1 of LUNA. When UST lost its peg in May 2022, redemptions minted huge amounts of LUNA, crashing its price and triggering a death spiral.
No real money • No wallet connection
Watch the lesson, then practice the decisions a real user must make. These simulations use imaginary dollars and do not connect to a blockchain.
Learn where people obtain stablecoins, when a Web3 wallet is necessary, how private keys work, how to count overseas-transfer fees, where to seek help, and what may happen if an issuer fails.
Your family wants to send you money. Complete the safety check before the imaginary transfer.
Compare the complete cost—not only the visible blockchain fee.
Select the problem and identify the safest next action.
This simplified model asks whether immediately liquid reserves can meet a sudden redemption wave.
Classroom model only: real outcomes also depend on asset quality, maturity, custody, market depth, operational capacity and legal redemption rights.
Pick an activity on the left. Arrows show a directional change (Up/Down/—) in U.S. aggregates based on a stylized balance-sheet flow.
Updated September 5, 2026
Begin with this student-focused lesson on the law, stablecoin benefits and risks, bank deposits, Treasury demand, and when a checking account remains the safer choice.
Use this short industry overview as a second perspective before studying the law’s issuer, reserve, consumer-protection and implementation rules below.
The Guiding and Establishing National Innovation for U.S. Stablecoins Act became Public Law 119-27 on July 18, 2025. It created the first federal regulatory framework specifically for payment stablecoins. The law does not make every token risk-free or turn a stablecoin into legal tender, a government guarantee, or an FDIC-insured bank deposit.
No. The Act strengthens reserves, disclosures and supervision, but stablecoin users can still face issuer, operational, cybersecurity, network, wallet, fraud, liquidity and temporary de-pegging risks. Federal deposit insurance does not apply to the payment stablecoin itself.
Primary sources: Public Law 119-27 · GENIUS Act fact sheet · Treasury’s August 2026 implementation update · OCC proposed rule
The important question is not only How fast does it move? Ask: Whose liability is the money, who can use it, and what law protects it?
Compare ordinary checking deposits, JPMorgan’s institutional tokenized-deposit model, and payment stablecoins before using the table below.
| Payment rail or product | What moves? | Who can use it? | What makes it different? |
|---|---|---|---|
| Dollar stablecoin Examples: USDC, USDT |
A token that is a liability of a nonbank or bank-affiliated permitted issuer and is backed by reserves. | Retail or institutional users, depending on the token, wallet, platform and jurisdiction. | Can move across supported blockchain networks 24/7; exposes users to issuer, wallet and network risks. |
| JPM Coin / JPMD Kinexys by J.P. Morgan |
A tokenized commercial-bank deposit: a claim on J.P. Morgan, not a general retail stablecoin. | Eligible institutional clients. | JPM Coin, with ticker JPMD, is available on Base for near-instant, 24/7 institutional settlement. |
| Kinexys Blockchain Deposit Accounts | Commercial-bank deposit balances recorded on J.P. Morgan’s blockchain-based deposit ledger. | Approved corporate and institutional clients. | Supports real-time cross-border and programmable treasury payments while remaining inside the bank-deposit system. |
| FedNow | Ordinary bank-deposit money transferred between participating banks through a Federal Reserve service. | Customers of participating banks and credit unions—not a direct Fed app. | Payments settle within seconds, 24 hours a day, every day. FedNow is not a stablecoin or CBDC. |
| RTP network | Ordinary bank-deposit money settled through The Clearing House’s private real-time network. | Customers of participating financial institutions. | Instant, final bank-account payments with rich invoice and reconciliation messages, 24/7/365. |
No. FedNow and RTP can deliver instant domestic bank-to-bank payments without blockchain. Stablecoins may add value when users need blockchain programmability, global reach or interoperability with digital-asset markets. Deposit tokens such as JPMD combine blockchain features with a regulated bank liability, but access is currently institutional rather than general retail.
Primary sources: J.P. Morgan’s 2026 Kinexys update · JPM Coin/JPMD launch · Federal Reserve FedNow FAQ · RTP network
GENIUS-compliant issuers may hold short-term Treasury securities as reserves. More stablecoin use can therefore create additional demand for Treasury bills. Stronger demand may support bill prices and modestly lower yields, reducing federal interest expense. But the Treasury still owes the principal, and easier financing can even make continued borrowing easier. The debt falls only when the government retires more debt than it issues.
This is a classroom illustration—not a forecast. It assumes the yield effect applies to the selected amount for one full year.
Formula: Treasury demand × yield reduction. Example: $500 billion × 0.10% = $0.50 billion per year. Actual yield effects depend on issuance, market conditions, investor substitution and how persistent demand is.
Primary sources: Treasury on stablecoin demand for Treasury bills · Treasury statement on the GENIUS Act · Treasury Fiscal Data: deficit and debt
The student’s family faces bank-transfer delays, foreign-exchange costs and a tuition deadline. The university is considering accepting one approved dollar stablecoin through a regulated payment processor. The processor would verify the payment, attach it to the student invoice and automatically convert the stablecoin to dollars. Should the university offer this option?
A limited, optional, processor-based service could help some international students if the university receives dollars immediately and clearly assigns fees and error risk. For most domestic students, instant bank rails may provide the same speed with fewer wallet, tax and consumer-protection complications. The decision should compare the entire payment process—not just the blockchain transaction fee.
Primary sources: IRS digital-asset reporting · FTC guidance on irreversible crypto payments and scams · GENIUS Act consumer safeguards
Covers PoW mechanism, difficulty, block rewards & fees, halving schedule, and the 21M cap.
Open Quiz 1Covers fiat-backed vs. crypto-collateralized models, reserves/redemption, peg risks, AML/KYC, and directional M1/M2 effects.
Open Quiz 2Prompt:
Your university is considering accepting an approved dollar stablecoin for tuition through a processor that immediately converts the payment to U.S. dollars. Write a short recommendation answering:
Watch before writing: This video explains my cautious personal view, including potential benefits and risks. You may agree or disagree. Your grade depends on how well you use evidence and course concepts to defend your own position.
Write 150–200 words answering all four questions:
There is no required “yes” or “no” answer. Your grade depends on using evidence from the article and course concepts to defend your position.
CampusTestToken.sol, and paste the contract below.// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/**
* Campus Test Token (simple ERC-20 learning demo)
* - Owner (deployer) can mint and change owner.
* - Anyone can transfer.
* - Anyone can burn their own tokens.
* - Decimals = 6 (dollar-like: 1.000000)
* NOT A STABLECOIN: no reserves, redemption, or $1-price mechanism.
* Classroom simulation only. Not audited. Never use real money.
*/
contract CampusTestToken {
string public name;
string public symbol;
uint8 public immutable decimals;
uint256 public totalSupply;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
address public owner;
modifier onlyOwner(){ require(msg.sender == owner, "not owner"); _; }
event Transfer(address indexed from, address indexed to, uint256 amount);
event Approval(address indexed owner, address indexed spender, uint256 amount);
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner);
constructor(string memory _name, string memory _symbol, uint8 _decimals){
owner = msg.sender;
emit OwnershipTransferred(address(0), msg.sender);
name = _name;
symbol = _symbol;
decimals = _decimals; // e.g., 6 for $-style 1.000000
}
function balanceOf(address a) public view returns (uint256) { return _balances[a]; }
function allowance(address a, address s) public view returns (uint256) { return _allowances[a][s]; }
function transfer(address to, uint256 amount) public returns (bool) {
_transfer(msg.sender, to, amount); return true;
}
function approve(address spender, uint256 amount) public returns (bool) {
_approve(msg.sender, spender, amount); return true;
}
function transferFrom(address from, address to, uint256 amount) public returns (bool) {
uint256 allowed = _allowances[from][msg.sender];
require(allowed >= amount, "insufficient allowance");
if (allowed != type(uint256).max) {
_allowances[from][msg.sender] = allowed - amount;
emit Approval(from, msg.sender, _allowances[from][msg.sender]);
}
_transfer(from, to, amount); return true;
}
function mint(address to, uint256 amount) public onlyOwner {
require(to != address(0), "mint to zero");
totalSupply += amount; _balances[to] += amount;
emit Transfer(address(0), to, amount);
}
function burn(uint256 amount) public {
uint256 bal = _balances[msg.sender]; require(bal >= amount, "insufficient");
_balances[msg.sender] = bal - amount; totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0), "zero owner");
emit OwnershipTransferred(owner, newOwner); owner = newOwner;
}
function _transfer(address from, address to, uint256 amount) internal {
require(to != address(0), "transfer to zero");
uint256 bal = _balances[from]; require(bal >= amount, "insufficient balance");
_balances[from] = bal - amount; _balances[to] += amount;
emit Transfer(from, to, amount);
}
function _approve(address a, address s, uint256 amount) internal {
require(s != address(0), "approve to zero");
_allowances[a][s] = amount; emit Approval(a, s, amount);
}
}
name: Campus Test Dollarsymbol: tCUSDdecimals: 6mint(<secondAccount>, 1000000) to create 1.000000 tCUSD.balanceOf(<secondAccount>). The result should be 1000000 base units.transfer(<thirdAccount>, amount).balanceOf to verify both balances. Explain why 500000 base units equals 0.500000 tCUSD.Stablecoins are tokens pegged to $1, designed for payments and transfers—not for price appreciation. Their stability comes from how they’re issued, collateralized, and redeemed.