{
  "$schema": "https://www.hoodbuybutton.com/lore/schema.json",
  "schemaVersion": "1.0.0",
  "updatedAt": "2026-07-21",
  "title": "The Buy Button Lore Database",
  "description": "A sourced, rights-aware index of the January 2021 buy-button event, its retail-market vocabulary, its recurring joke structures, and its later internet afterlife.",
  "scope": {
    "includes": [
      "Primary records explaining the January 2021 trading restrictions",
      "Contemporaneous public reactions specifically about the missing buy or sell controls",
      "Canonical GameStop and retail-trading language needed to understand those reactions",
      "Later anniversary references that show which motifs persisted",
      "Reusable meme grammar expressed as original analysis"
    ],
    "excludes": [
      "Unsourced claims about motives or coordination",
      "Downloaded copies of third-party artwork",
      "Personal data about pseudonymous community members",
      "Price predictions, investment recommendations, and promotional engagement bait"
    ]
  },
  "methodology": [
    "Prefer first-party notices, regulatory records, and hearing transcripts for facts.",
    "Use contemporaneous community posts to document language and jokes, not to establish disputed facts.",
    "Use reference indexes and news archives to connect recurring phrases to their broader meme context.",
    "Keep third-party media link-only; store descriptions, provenance, and short identifying phrases instead of image files.",
    "Separate the documented event from later remixes and from this project's onchain continuation."
  ],
  "event": {
    "id": "jan-28-buy-restrictions",
    "date": "2021-01-28",
    "summary": "Robinhood placed GameStop and several other securities in position-closing-only status. Existing positions could be sold, but new purchases were temporarily restricted. The market mechanics were complex; the visible interface consequence was simple enough to become folklore: the buy side was gone.",
    "affectedSecurities": ["GME", "AMC", "BB", "BBBY", "EXPR", "KOSS", "NAKD", "NOK"],
    "canonicalTerms": ["position-closing-only", "buy button", "sell button", "trading restriction", "clearinghouse deposit"],
    "primarySourceIds": ["robinhood-notice", "robinhood-update", "sec-staff-report", "robinhood-sec-filing", "house-hearing"]
  },
  "sources": [
    {
      "id": "robinhood-notice",
      "title": "Keeping Customers Informed Through Market Volatility",
      "url": "https://robinhood.com/newsroom/keeping-customers-informed-through-market-volatility/",
      "publisher": "Robinhood",
      "publishedAt": "2021-01-28",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "The first-party notice that described affected securities as position closing only."
    },
    {
      "id": "robinhood-update",
      "title": "An Update on Market Volatility",
      "url": "https://robinhood.com/us/en/newsroom/an-update-on-market-volatility/",
      "publisher": "Robinhood",
      "publishedAt": "2021-01-28",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "The evening update announcing limited purchases would resume and describing clearinghouse obligations."
    },
    {
      "id": "robinhood-restriction-explainer",
      "title": "When and Why We Restrict Trading",
      "url": "https://robinhood.com/us/en/newsroom/when-and-why-we-restrict-trading/",
      "publisher": "Robinhood",
      "publishedAt": "2021-03-23",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "A later first-party explanation of restriction mechanics."
    },
    {
      "id": "sec-staff-report",
      "title": "Staff Report on Equity and Options Market Structure Conditions in Early 2021",
      "url": "https://www.sec.gov/files/staff-report-equity-options-market-struction-conditions-early-2021.pdf",
      "publisher": "U.S. Securities and Exchange Commission",
      "publishedAt": "2021-10-14",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "The regulator's market-structure account of the episode and broker restrictions."
    },
    {
      "id": "robinhood-sec-filing",
      "title": "Robinhood Markets Prospectus Supplement: Early 2021 Trading Restrictions",
      "url": "https://www.sec.gov/Archives/edgar/data/1783879/000162828021020850/robinhood424b3-102921.htm",
      "publisher": "U.S. Securities and Exchange Commission archive",
      "publishedAt": "2021-10-29",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "Company filing describing NSCC deposit requirements and the resulting limits."
    },
    {
      "id": "house-hearing",
      "title": "Game Stopped? Who Wins and Loses When Short Sellers, Social Media, and Retail Investors Collide",
      "url": "https://www.congress.gov/117/chrg/CHRG-117hhrg43966/CHRG-117hhrg43966.pdf",
      "publisher": "U.S. House Committee on Financial Services",
      "publishedAt": "2021-02-18",
      "type": "primary-record",
      "authority": "primary",
      "reusePolicy": "public-record",
      "notes": "The congressional hearing record behind several durable testimony catchphrases."
    },
    {
      "id": "reddit-daily-four",
      "title": "Daily Discussion Thread Part 4 for January 28, 2021",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l747hb/daily_discussion_thread_part_4_for_january_28_2021/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A high-volume reaction thread containing the buy-button and sell-button inversion jokes."
    },
    {
      "id": "reddit-removed",
      "title": "Removed",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l6plv0/removed/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "Contemporaneous reactions framing the restriction as a contradiction in a trading app and a free market."
    },
    {
      "id": "reddit-daily-two",
      "title": "Daily Discussion Thread Part 2 for January 28, 2021",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l6y2hy/daily_discussion_thread_part_2_for_january_28_2021/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A contemporaneous language sample from the restriction morning."
    },
    {
      "id": "reddit-megathread-four",
      "title": "GME Megathread IV for January 28, 2021",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l74zgc/gme_megathread_iv_for_january_28th_2021/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A primary community record of hold-the-line and buy-the-dip language."
    },
    {
      "id": "reddit-bitcoin-blocked",
      "title": "Robinhood Just Blocked Several Stocks From Being Bought",
      "url": "https://www.reddit.com/r/Bitcoin/comments/l70vrq/robinhood_just_blocked_several_stocks_from_being/",
      "publisher": "r/Bitcoin",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A widely circulated cross-community record of the blocked purchase interface."
    },
    {
      "id": "reddit-stocks-back",
      "title": "Stocks Back Up on Robinhood",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l7hsfl/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A record of the first return-of-the-button phase and changing restrictions."
    },
    {
      "id": "reddit-cant-find-sell",
      "title": "Help! I Can't Find the Sell Button",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/r5czjn/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-11-29",
      "type": "community-post",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "A later expression of the intentionally missing sell-button motif."
    },
    {
      "id": "reddit-fixed-sell",
      "title": "Fixed My Sell Button",
      "url": "https://www.reddit.com/r/Wallstreetbetsnew/comments/m7101r/",
      "publisher": "r/Wallstreetbetsnew",
      "publishedAt": "2021-03-17",
      "type": "community-post",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "A visual-interface remix that turns selling into another buy action."
    },
    {
      "id": "reddit-buy-buy",
      "title": "Replace Sell With Buy So the Interface Has Two Buy Buttons",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/laniv1/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-02-01",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A direct buy-only interface joke."
    },
    {
      "id": "reddit-hero",
      "title": "The Hero We Need Right Now",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l6wr6s/the_hero_we_need_right_now_fuck_robinhood/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A rescuer archetype applied to restoring access to the trade."
    },
    {
      "id": "reddit-im-in",
      "title": "You Son of a Bitch, I'm In",
      "url": "https://www.reddit.com/r/dankmemes/comments/l7c5gy/",
      "publisher": "r/dankmemes",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "The broad meme template fused with the GameStop participation story."
    },
    {
      "id": "reddit-one-share",
      "title": "Robinhood Restricted GME to One Share",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l81j55/robinhood_has_restricted_gme_down_to_1_share_do/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-29",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A record of the one-share rationing phase after limited purchasing returned."
    },
    {
      "id": "reddit-stock-not-app",
      "title": "We Like the Stock, Not the App",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l6zwzx/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A compact reversal of the canonical stock slogan aimed at the broker interface."
    },
    {
      "id": "reddit-act-two",
      "title": "GME Short Squeeze Act II",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l8nvir/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-30",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "Includes the idea that a returned buy button could be merely decorative."
    },
    {
      "id": "reddit-dfv-jan28",
      "title": "GME YOLO Update: Jan 28, 2021",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l78uct/gme_yolo_update_jan_28_2021/",
      "publisher": "DeepFuckingValue on r/wallstreetbets",
      "publishedAt": "2021-01-28",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "The position update that reinforced the if-he-is-still-in participation motif."
    },
    {
      "id": "reddit-dfv-monthend",
      "title": "GME YOLO Month-End Update: Jan 2021",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l846a1/gme_yolo_monthend_update_jan_2021/",
      "publisher": "DeepFuckingValue on r/wallstreetbets",
      "publishedAt": "2021-01-29",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A canonical public position receipt at the end of the week."
    },
    {
      "id": "reddit-squoze",
      "title": "The Squeeze Has Not Yet Squoze",
      "url": "https://www.reddit.com/r/wallstreetbets/comments/l5gv9p/",
      "publisher": "r/wallstreetbets",
      "publishedAt": "2021-01-26",
      "type": "community-post",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "An early record of one of the cycle's most durable grammatical mutations."
    },
    {
      "id": "kym-gamestop-event",
      "title": "WallStreetBets GameStop Short Squeeze",
      "url": "https://knowyourmeme.com/memes/events/wallstreetbets-gamestop-short-squeeze",
      "publisher": "Know Your Meme",
      "publishedAt": null,
      "type": "meme-index",
      "authority": "reference",
      "reusePolicy": "link-only",
      "notes": "A reference index connecting the event to its recurring templates and slogans."
    },
    {
      "id": "kym-diamond-hands",
      "title": "Diamond Hands / Paper Hands",
      "url": "https://knowyourmeme.com/memes/diamond-hands-paper-hands",
      "publisher": "Know Your Meme",
      "publishedAt": null,
      "type": "meme-index",
      "authority": "reference",
      "reusePolicy": "link-only",
      "notes": "Reference history for the opposing commitment metaphors."
    },
    {
      "id": "kym-robinhood",
      "title": "Robinhood",
      "url": "https://knowyourmeme.com/memes/sites/robinhood",
      "publisher": "Know Your Meme",
      "publishedAt": null,
      "type": "meme-index",
      "authority": "reference",
      "reusePolicy": "link-only",
      "notes": "A reference index for Robinhood's role in the meme cycle."
    },
    {
      "id": "kym-real-robin-hood",
      "title": "The Real Robin Hood Would Not Approve",
      "url": "https://knowyourmeme.com/photos/2009258-wallstreetbets-gamestop-short-squeeze",
      "publisher": "Know Your Meme",
      "publishedAt": "2021-01-28",
      "type": "meme-index",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A representative Robin Hood namesake-betrayal image."
    },
    {
      "id": "netflix-glossary",
      "title": "Eat the Rich: The GameStop Saga Glossary",
      "url": "https://www.netflix.com/tudum/articles/eat-the-rich-gamestop-saga-glossary-roaring-kitty-hodl",
      "publisher": "Netflix Tudum",
      "publishedAt": "2022-09-28",
      "type": "glossary",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "A retrospective guide to the episode's core language."
    },
    {
      "id": "abc-glossary",
      "title": "Stonks: A Guide to Understanding GameStop Reddit Lingo",
      "url": "https://www.abc.net.au/news/2021-01-29/stonks%21-a-guide-to-understanding-that-gamestop-reddit-lingo/13102200",
      "publisher": "ABC News Australia",
      "publishedAt": "2021-01-29",
      "type": "glossary",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A contemporaneous mainstream glossary of retail-trading slang."
    },
    {
      "id": "ringer-dictionary",
      "title": "The GameStop Saga: A Dictionary",
      "url": "https://www.theringer.com/2021/01/28/national-affairs/game-stop-stock-market-saga-robinhood-wall-street-bets-reddit",
      "publisher": "The Ringer",
      "publishedAt": "2021-01-28",
      "type": "glossary",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A same-day dictionary of the principal actors, mechanics, and community terms."
    },
    {
      "id": "newsweek-let-trade",
      "title": "Robinhood's 'Let the People Trade' Tweet Resurfaces",
      "url": "https://www.newsweek.com/robinhoods-let-people-trade-tweet-resurfaces-after-platform-halts-gamestop-trading-1565156",
      "publisher": "Newsweek",
      "publishedAt": "2021-01-28",
      "type": "news",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "Documents the 2016 slogan's return as an irony template during the restriction."
    },
    {
      "id": "gamespot-roundup",
      "title": "The Internet Is Having a Field Day With the GameStop Stock Situation",
      "url": "https://www.gamespot.com/articles/the-internet-is-having-a-field-day-with-the-gamestop-stock-situation/1100-6486889/",
      "publisher": "GameSpot",
      "publishedAt": "2021-01-28",
      "type": "news",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A contemporaneous roundup showing how fast the event escaped financial media."
    },
    {
      "id": "medium-fin-wars",
      "title": "Fin Wars 2021: Revenge of the Hedge",
      "url": "https://kirimaandrew.medium.com/fin-wars-2021-the-great-squeeze-revenge-of-the-hedge-1bf754498799",
      "publisher": "Medium",
      "publishedAt": "2021-01-29",
      "type": "news",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "Documents the Star Wars betrayal remix aimed at Robinhood."
    },
    {
      "id": "techcrunch-ux",
      "title": "Five Rushed UX Changes Robinhood Should Make",
      "url": "https://techcrunch.com/2021/02/01/5-rushed-ux-changes/",
      "publisher": "TechCrunch",
      "publishedAt": "2021-02-01",
      "type": "news",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "A UX-focused record of how market structure became an interface problem."
    },
    {
      "id": "wired-episode",
      "title": "Robinhood, GameStop, and the Long Tail of the Internet",
      "url": "https://www.wired.com/story/robinhood-gamestop-stock/",
      "publisher": "WIRED",
      "publishedAt": "2021-01-29",
      "type": "news",
      "authority": "contemporaneous",
      "reusePolicy": "link-only",
      "notes": "Contemporaneous reporting on the internet and platform dynamics around the event."
    },
    {
      "id": "ap-2024-revival",
      "title": "GameStop Surges as Roaring Kitty Returns",
      "url": "https://apnews.com/article/f56af9d8853d77180548028a1a7f3f0f",
      "publisher": "Associated Press",
      "publishedAt": "2024-05-13",
      "type": "news",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "Shows the continuing cultural recall of the 2021 episode during the 2024 revival."
    },
    {
      "id": "time-dumb-money",
      "title": "The Real People Behind Dumb Money",
      "url": "https://time.com/6315779/dumb-money-real-people/",
      "publisher": "TIME",
      "publishedAt": "2023-09-22",
      "type": "news",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "A retrospective on the people and popular retelling of the event."
    },
    {
      "id": "gme-anniversary",
      "title": "Buy Button Removal Day Anniversary",
      "url": "https://www.reddit.com/r/GME/comments/1adflf6/",
      "publisher": "r/GME",
      "publishedAt": "2024-01-28",
      "type": "community-post",
      "authority": "retrospective",
      "reusePolicy": "link-only",
      "notes": "Evidence that January 28 remains a recurring community remembrance date."
    },
    {
      "id": "buy-button-history",
      "title": "Robinhood Buy Button: What Happened on Jan. 28, 2021?",
      "url": "https://www.hoodbuybutton.com/robinhood-buy-button/",
      "publisher": "The Buy Button",
      "publishedAt": "2026-07-18",
      "type": "primary-record",
      "authority": "retrospective",
      "reusePolicy": "public-record",
      "notes": "The project's sourced historical explainer and independence disclosure."
    }
  ],
  "timeline": [
    {
      "id": "timeline-let-people-trade",
      "date": "2016-03-23",
      "title": "Let the people trade",
      "summary": "A Robinhood slogan that would later return as the episode's cleanest irony template.",
      "type": "prehistory",
      "sourceIds": ["newsweek-let-trade"]
    },
    {
      "id": "timeline-squoze",
      "date": "2021-01-26",
      "title": "The squeeze is not yet squoze",
      "summary": "Community language mutated market mechanics into a phrase portable enough to survive the cycle.",
      "type": "meme-language",
      "sourceIds": ["reddit-squoze"]
    },
    {
      "id": "timeline-restriction",
      "date": "2021-01-28",
      "title": "Purchases restricted",
      "summary": "Robinhood moved affected securities to position-closing-only status, preserving exits while blocking new buys.",
      "type": "event",
      "sourceIds": ["robinhood-notice", "sec-staff-report"]
    },
    {
      "id": "timeline-interface-reaction",
      "date": "2021-01-28",
      "title": "Market structure becomes one missing control",
      "summary": "The internet compressed clearing and collateral mechanics into a visual fact anyone could understand: the buy side was unavailable.",
      "type": "meme-language",
      "sourceIds": ["reddit-removed", "reddit-bitcoin-blocked", "techcrunch-ux"]
    },
    {
      "id": "timeline-no-sell",
      "date": "2021-01-28",
      "title": "The missing sell button counter-joke",
      "summary": "Users answered an involuntarily missing buy control by pretending they had voluntarily misplaced the sell control.",
      "type": "meme-language",
      "sourceIds": ["reddit-daily-four"]
    },
    {
      "id": "timeline-free-market",
      "date": "2021-01-28",
      "title": "Free-market interface error",
      "summary": "The restriction was framed as a contradiction between the language of open markets and a trading app that would not accept a buy.",
      "type": "meme-language",
      "sourceIds": ["reddit-removed", "newsweek-let-trade"]
    },
    {
      "id": "timeline-dfv-receipt",
      "date": "2021-01-28",
      "title": "The public position receipt",
      "summary": "DeepFuckingValue's daily position update reinforced a social proof loop summarized by the phrase if he is still in, I am still in.",
      "type": "community-record",
      "sourceIds": ["reddit-dfv-jan28", "kym-gamestop-event"]
    },
    {
      "id": "timeline-limited-return",
      "date": "2021-01-28",
      "title": "Limited buys announced",
      "summary": "Robinhood said limited purchases would resume the following day, subject to continuing conditions.",
      "type": "event",
      "sourceIds": ["robinhood-update"]
    },
    {
      "id": "timeline-one-share",
      "date": "2021-01-29",
      "title": "The one-share button",
      "summary": "The button returned with quantity limits, creating a new joke: access existed, but only in a rationed form.",
      "type": "event",
      "sourceIds": ["reddit-one-share", "sec-staff-report"]
    },
    {
      "id": "timeline-buy-buy",
      "date": "2021-02-01",
      "title": "Two buy buttons, zero sell buttons",
      "summary": "Interface remixes inverted the original restriction by replacing the sell action with another buy action.",
      "type": "meme-language",
      "sourceIds": ["reddit-buy-buy"]
    },
    {
      "id": "timeline-limits-removed",
      "date": "2021-02-05",
      "title": "Remaining purchase limits removed",
      "summary": "The SEC staff report records that Robinhood had removed the remaining purchase limits by February 5.",
      "type": "event",
      "sourceIds": ["sec-staff-report"]
    },
    {
      "id": "timeline-hearing",
      "date": "2021-02-18",
      "title": "The button goes to Congress",
      "summary": "A House hearing converted the episode into testimony, producing a second layer of memes about evasive answers and repeated formalities.",
      "type": "public-record",
      "sourceIds": ["house-hearing"]
    },
    {
      "id": "timeline-sec-report",
      "date": "2021-10-14",
      "title": "The mechanics enter the official record",
      "summary": "The SEC published its staff report on the market structure and trading conditions surrounding the episode.",
      "type": "public-record",
      "sourceIds": ["sec-staff-report"]
    },
    {
      "id": "timeline-anniversary",
      "date": "2024-01-28",
      "title": "Buy-button removal day persists",
      "summary": "Three years later, communities still treated January 28 as a named remembrance date.",
      "type": "afterlife",
      "sourceIds": ["gme-anniversary"]
    },
    {
      "id": "timeline-revival",
      "date": "2024-05-13",
      "title": "The original cast returns to the feed",
      "summary": "Roaring Kitty's return immediately reactivated the visual and verbal language of the 2021 cycle.",
      "type": "afterlife",
      "sourceIds": ["ap-2024-revival"]
    },
    {
      "id": "timeline-onchain",
      "date": "2026-07-08",
      "title": "The button comes back onchain",
      "summary": "An independent project on Robinhood Chain turns the historical interface object into an onchain cultural artifact. It is not affiliated with Robinhood.",
      "type": "project-continuation",
      "sourceIds": ["buy-button-history"]
    }
  ],
  "glossary": [
    {
      "id": "term-position-closing-only",
      "term": "Position-closing-only",
      "aliases": ["PCO", "closing only"],
      "category": "market mechanics",
      "definition": "A restriction that permits reducing or closing an existing position but prevents opening or increasing it.",
      "loreContext": "The precise operational phrase behind the simplified claim that the buy button was turned off.",
      "sourceIds": ["robinhood-notice", "sec-staff-report"]
    },
    {
      "id": "term-buy-button",
      "term": "Buy button",
      "aliases": ["the button", "buy side"],
      "category": "core object",
      "definition": "The interface control used to initiate a purchase.",
      "loreContext": "A small UI object that came to represent market access, platform power, and the entire January 2021 restriction.",
      "sourceIds": ["robinhood-notice", "reddit-bitcoin-blocked", "buy-button-history"]
    },
    {
      "id": "term-sell-button",
      "term": "Sell button",
      "aliases": ["exit button"],
      "category": "core object",
      "definition": "The interface control used to reduce or close a position.",
      "loreContext": "Because selling remained possible, retail humor pretended the sell button had also vanished through user choice rather than broker restriction.",
      "sourceIds": ["reddit-daily-four", "reddit-cant-find-sell"]
    },
    {
      "id": "term-clearinghouse",
      "term": "Clearinghouse",
      "aliases": ["clearing agency"],
      "category": "market mechanics",
      "definition": "Infrastructure that stands between market participants to clear and settle trades and manage counterparty risk.",
      "loreContext": "The invisible system whose collateral demands reached the visible retail interface.",
      "sourceIds": ["sec-staff-report", "robinhood-update"]
    },
    {
      "id": "term-nscc",
      "term": "NSCC",
      "aliases": ["National Securities Clearing Corporation"],
      "category": "market mechanics",
      "definition": "The central clearing agency for U.S. equities whose deposit requirements are part of broker risk management.",
      "loreContext": "Robinhood cited increased NSCC deposit requirements when describing the restriction.",
      "sourceIds": ["robinhood-sec-filing", "sec-staff-report"]
    },
    {
      "id": "term-clearing-deposit",
      "term": "Clearinghouse deposit",
      "aliases": ["collateral requirement", "deposit requirement"],
      "category": "market mechanics",
      "definition": "Collateral a clearing member must provide to cover risk arising before trades settle.",
      "loreContext": "The complicated financial obligation compressed online into the much simpler sentence: they removed the button.",
      "sourceIds": ["robinhood-update", "robinhood-sec-filing"]
    },
    {
      "id": "term-settlement",
      "term": "Settlement",
      "aliases": ["trade settlement"],
      "category": "market mechanics",
      "definition": "The process by which securities and cash are finally delivered after a trade is executed.",
      "loreContext": "The time gap between trade and settlement helped create the collateral pressure behind the episode.",
      "sourceIds": ["sec-staff-report"]
    },
    {
      "id": "term-short-squeeze",
      "term": "Short squeeze",
      "aliases": ["squeeze"],
      "category": "market mechanics",
      "definition": "A rapid price rise that pressures short sellers to buy shares to close positions, adding more demand.",
      "loreContext": "The central market mechanism around which GameStop's January 2021 narrative formed.",
      "sourceIds": ["sec-staff-report", "ringer-dictionary"]
    },
    {
      "id": "term-gamma-squeeze",
      "term": "Gamma squeeze",
      "aliases": [],
      "category": "market mechanics",
      "definition": "A feedback loop in which options-market hedging can add buying pressure as an underlying price rises.",
      "loreContext": "Frequently invoked in community explanations of why calls and share demand could reinforce one another.",
      "sourceIds": ["sec-staff-report", "ringer-dictionary"]
    },
    {
      "id": "term-short-interest",
      "term": "Short interest",
      "aliases": ["SI"],
      "category": "market mechanics",
      "definition": "The amount of a security's float or shares outstanding that has been sold short.",
      "loreContext": "High reported GameStop short interest helped make the squeeze thesis legible to the community.",
      "sourceIds": ["sec-staff-report", "reddit-squoze"]
    },
    {
      "id": "term-meme-stock",
      "term": "Meme stock",
      "aliases": [],
      "category": "market culture",
      "definition": "A stock whose trading narrative and participation are strongly shaped by internet communities and portable cultural symbols.",
      "loreContext": "GameStop became the defining example, with the button restriction becoming part of the category's origin story.",
      "sourceIds": ["kym-gamestop-event", "time-dumb-money"]
    },
    {
      "id": "term-retail-trader",
      "term": "Retail trader",
      "aliases": ["individual investor"],
      "category": "market culture",
      "definition": "An individual trading for a personal account rather than on behalf of an institution.",
      "loreContext": "The episode was narrated as retail coordination confronting institutional and platform power.",
      "sourceIds": ["sec-staff-report", "wired-episode"]
    },
    {
      "id": "term-wsb",
      "term": "WallStreetBets",
      "aliases": ["WSB", "the bets"],
      "category": "community",
      "definition": "A Reddit community centered on high-risk market bets, position screenshots, and an intentionally irreverent dialect.",
      "loreContext": "The main language engine of the GameStop cycle and many of its durable memes.",
      "sourceIds": ["kym-gamestop-event", "ringer-dictionary"]
    },
    {
      "id": "term-gme",
      "term": "GME",
      "aliases": ["GameStop"],
      "category": "market symbol",
      "definition": "The ticker symbol for GameStop Corp.",
      "loreContext": "The principal security associated with the January 2021 squeeze and buy restriction.",
      "sourceIds": ["sec-staff-report", "kym-gamestop-event"]
    },
    {
      "id": "term-dfv",
      "term": "DeepFuckingValue",
      "aliases": ["DFV", "Roaring Kitty", "Keith Gill"],
      "category": "person",
      "definition": "The online identity associated with Keith Gill's public GameStop thesis and position updates.",
      "loreContext": "His visible position receipts became social proof and generated the still-in participation formula.",
      "sourceIds": ["reddit-dfv-jan28", "time-dumb-money"]
    },
    {
      "id": "term-stonks",
      "term": "Stonks",
      "aliases": ["stocks, intentionally misspelled"],
      "category": "community dialect",
      "definition": "A deliberately misspelled form of stocks used to signal absurdity, confidence, or ironic financial expertise.",
      "loreContext": "It let participants discuss real market stakes in a language that never sounded institutional.",
      "sourceIds": ["abc-glossary", "netflix-glossary"]
    },
    {
      "id": "term-tendies",
      "term": "Tendies",
      "aliases": ["profits"],
      "category": "community dialect",
      "definition": "Community slang for trading gains, derived from chicken tenders as a deliberately unserious reward.",
      "loreContext": "The reward object in a dialect that turned market participation into a game-like quest.",
      "sourceIds": ["abc-glossary", "ringer-dictionary"]
    },
    {
      "id": "term-ape",
      "term": "Ape",
      "aliases": ["apes"],
      "category": "community identity",
      "definition": "A self-deprecating identity for retail participants who emphasize collective conviction over sophistication.",
      "loreContext": "The identity made coordination feel horizontal: no expert leader, just many holders acting together.",
      "sourceIds": ["netflix-glossary", "kym-gamestop-event"]
    },
    {
      "id": "term-apes-together",
      "term": "Apes together strong",
      "aliases": [],
      "category": "community doctrine",
      "definition": "A slogan expressing the belief that individually small participants become consequential through collective action.",
      "loreContext": "A compact social theory for the entire episode.",
      "sourceIds": ["kym-gamestop-event", "netflix-glossary"]
    },
    {
      "id": "term-diamond-hands",
      "term": "Diamond hands",
      "aliases": ["diamond-handed"],
      "category": "community doctrine",
      "definition": "Holding a volatile position despite pressure, fear, or large unrealized gains and losses.",
      "loreContext": "The positive counterpart to paper hands and the behavioral answer to a missing buy button.",
      "sourceIds": ["kym-diamond-hands", "abc-glossary"]
    },
    {
      "id": "term-paper-hands",
      "term": "Paper hands",
      "aliases": ["paper-handed"],
      "category": "community doctrine",
      "definition": "Selling under pressure or volatility instead of maintaining conviction.",
      "loreContext": "The shame category opposite diamond hands.",
      "sourceIds": ["kym-diamond-hands", "abc-glossary"]
    },
    {
      "id": "term-hodl",
      "term": "HODL",
      "aliases": ["hold"],
      "category": "community doctrine",
      "definition": "Internet-finance slang for continuing to hold an asset through volatility.",
      "loreContext": "The practical instruction underneath diamond-hands imagery and hold-the-line rhetoric.",
      "sourceIds": ["netflix-glossary", "abc-glossary"]
    },
    {
      "id": "term-hold-the-line",
      "term": "Hold the line",
      "aliases": [],
      "category": "community doctrine",
      "definition": "A collective instruction not to sell during pressure or volatility.",
      "loreContext": "It translated a market position into a defensive formation and made individual holding feel communal.",
      "sourceIds": ["reddit-megathread-four", "kym-gamestop-event"]
    },
    {
      "id": "term-buy-the-dip",
      "term": "Buy the dip",
      "aliases": ["BTD"],
      "category": "community doctrine",
      "definition": "Buy after a price decline on the belief that the move is temporary or attractive.",
      "loreContext": "On restriction day it became both an instruction and an impossibility for users whose buy access was blocked.",
      "sourceIds": ["reddit-megathread-four", "reddit-daily-four"]
    },
    {
      "id": "term-we-like-stock",
      "term": "We like the stock",
      "aliases": ["I like the stock"],
      "category": "community doctrine",
      "definition": "A deliberately plain statement of preference that became a collective GameStop slogan.",
      "loreContext": "Its simplicity made it infinitely reusable, including the inversion: like the stock, not the app.",
      "sourceIds": ["kym-gamestop-event", "reddit-stock-not-app"]
    },
    {
      "id": "term-still-in",
      "term": "If he's still in, I'm still in",
      "aliases": ["still in"],
      "category": "community doctrine",
      "definition": "A social-proof formula linking one participant's continued position to another's decision to remain.",
      "loreContext": "Public position receipts became a recurring coordination object.",
      "sourceIds": ["reddit-dfv-jan28", "kym-gamestop-event"]
    },
    {
      "id": "term-not-squoze",
      "term": "The squeeze is not squoze",
      "aliases": ["not yet squoze"],
      "category": "community doctrine",
      "definition": "A humorous grammatical mutation meaning the expected squeeze is not considered complete.",
      "loreContext": "The phrase preserves uncertainty while sounding like a settled community maxim.",
      "sourceIds": ["reddit-squoze", "kym-gamestop-event"]
    },
    {
      "id": "term-moass",
      "term": "MOASS",
      "aliases": ["mother of all short squeezes"],
      "category": "community doctrine",
      "definition": "A hypothetical maximal short squeeze imagined as the final outcome of the thesis.",
      "loreContext": "The horizon event around which later GameStop communities organized expectations.",
      "sourceIds": ["netflix-glossary", "kym-gamestop-event"]
    },
    {
      "id": "term-dd",
      "term": "DD",
      "aliases": ["due diligence"],
      "category": "community practice",
      "definition": "A research post presenting evidence and an investment thesis.",
      "loreContext": "Serious analysis was delivered inside an unserious dialect, making research itself part of the performance.",
      "sourceIds": ["abc-glossary", "ringer-dictionary"]
    },
    {
      "id": "term-yolo",
      "term": "YOLO",
      "aliases": ["YOLO position"],
      "category": "community practice",
      "definition": "A concentrated, high-risk position presented publicly as a personal bet.",
      "loreContext": "The position screenshot served as proof of conviction and an invitation to watch the outcome.",
      "sourceIds": ["reddit-dfv-jan28", "ringer-dictionary"]
    },
    {
      "id": "term-loss-porn",
      "term": "Loss porn",
      "aliases": [],
      "category": "community practice",
      "definition": "Public screenshots of severe trading losses shared as spectacle, confession, or status.",
      "loreContext": "A community norm that made verifiable outcomes more valuable than polished claims.",
      "sourceIds": ["abc-glossary", "ringer-dictionary"]
    },
    {
      "id": "term-gain-porn",
      "term": "Gain porn",
      "aliases": [],
      "category": "community practice",
      "definition": "Public screenshots of large gains shared as evidence and spectacle.",
      "loreContext": "The positive twin of loss porn and the format behind famous public position receipts.",
      "sourceIds": ["reddit-dfv-monthend", "ringer-dictionary"]
    },
    {
      "id": "term-bagholder",
      "term": "Bagholder",
      "aliases": ["holding the bag"],
      "category": "community dialect",
      "definition": "A person left holding an asset after others have exited, often at a substantial loss.",
      "loreContext": "A persistent risk category beneath otherwise celebratory holding language.",
      "sourceIds": ["abc-glossary", "netflix-glossary"]
    },
    {
      "id": "term-fud",
      "term": "FUD",
      "aliases": ["fear, uncertainty, and doubt"],
      "category": "community dialect",
      "definition": "Negative information or framing believed to weaken confidence, whether accurate, mistaken, or manipulative.",
      "loreContext": "A label used to police the boundary between thesis criticism and perceived demoralization.",
      "sourceIds": ["netflix-glossary"]
    },
    {
      "id": "term-fomo",
      "term": "FOMO",
      "aliases": ["fear of missing out"],
      "category": "community dialect",
      "definition": "Anxiety that others are participating in an opportunity one is missing.",
      "loreContext": "A major force behind fast-spreading participation and the urgency of restoring the buy side.",
      "sourceIds": ["netflix-glossary", "abc-glossary"]
    },
    {
      "id": "term-to-the-moon",
      "term": "To the moon",
      "aliases": ["moon", "rocket"],
      "category": "community dialect",
      "definition": "A hyperbolic expression of expected upward price movement, commonly paired with rocket imagery.",
      "loreContext": "The optimistic destination in the retail-meme visual system.",
      "sourceIds": ["abc-glossary", "kym-gamestop-event"]
    },
    {
      "id": "term-let-people-trade",
      "term": "Let the people trade",
      "aliases": [],
      "category": "institutional irony",
      "definition": "A 2016 Robinhood slogan advocating access to trading.",
      "loreContext": "It resurfaced in 2021 as a perfect contradiction between prior brand language and current interface behavior.",
      "sourceIds": ["newsweek-let-trade"]
    },
    {
      "id": "term-real-robin-hood",
      "term": "The real Robin Hood",
      "aliases": ["steal from the rich, give to the poor"],
      "category": "institutional irony",
      "definition": "The English folk-hero namesake associated with taking from the rich and helping the poor.",
      "loreContext": "The app's name made every perceived alignment with Wall Street instantly available as a betrayal joke.",
      "sourceIds": ["kym-real-robin-hood", "medium-fin-wars"]
    },
    {
      "id": "term-thank-congressman",
      "term": "Thank you, Congressman",
      "aliases": [],
      "category": "hearing language",
      "definition": "A formal phrase repeated throughout the February 2021 House hearing.",
      "loreContext": "Its repetition became shorthand for consuming answer time without resolving the question.",
      "sourceIds": ["house-hearing"]
    },
    {
      "id": "term-boy-bulgaria",
      "term": "When I was a boy in Bulgaria",
      "aliases": ["boy from Bulgaria"],
      "category": "hearing language",
      "definition": "The opening of Vlad Tenev's personal background during congressional testimony.",
      "loreContext": "Online, it became a reusable detour whenever someone answers a direct question with biography.",
      "sourceIds": ["house-hearing"]
    },
    {
      "id": "term-free-market",
      "term": "Free market",
      "aliases": ["free and open market"],
      "category": "institutional irony",
      "definition": "A market ideal in which participants can transact under open, consistent rules.",
      "loreContext": "Restriction-day jokes used the phrase sarcastically beside an unavailable buy action.",
      "sourceIds": ["reddit-removed", "newsweek-let-trade"]
    },
    {
      "id": "term-never-forget",
      "term": "Never forget January 28",
      "aliases": ["buy-button removal day"],
      "category": "memory practice",
      "definition": "An anniversary formula that treats the restriction date as a recurring historical marker.",
      "loreContext": "The joke became durable because it acquired a calendar date, not just an image.",
      "sourceIds": ["gme-anniversary"]
    }
  ],
  "motifs": [
    {
      "id": "motif-missing-buy",
      "title": "The Missing Buy Button",
      "canonicalLine": "They turned off the buy button.",
      "aliases": ["removed buy button", "buy disabled"],
      "category": "interface absence",
      "originDate": "2021-01-28",
      "originPlatform": "Robinhood interface and cross-platform reactions",
      "setup": "A trading interface presents an asset but does not permit a new purchase.",
      "punchline": "The entire market-structure episode is reduced to one absent control.",
      "meaning": "Platform power becomes instantly visible and understandable.",
      "visualGrammar": "Show a normal trade screen with the expected action missing, crossed out, disabled, or replaced by whitespace.",
      "remixHooks": ["found the button", "still looking for it", "button unavailable in your region"],
      "toneTags": ["deadpan", "institutional irony", "minimal"],
      "riskFlags": ["Do not imply the original restriction is currently active."],
      "reusePolicy": "original-remix",
      "sourceIds": ["robinhood-notice", "reddit-bitcoin-blocked", "reddit-removed"]
    },
    {
      "id": "motif-no-sell",
      "title": "Joke's on You, There Is No Sell Button",
      "canonicalLine": "You removed buy. I misplaced sell.",
      "aliases": ["can't find sell", "sell button missing"],
      "category": "retail counter-move",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "The broker blocks new buying but keeps selling available.",
      "punchline": "The holder claims selling is impossible too, but by choice.",
      "meaning": "An asymmetric restriction is answered with asymmetric commitment.",
      "visualGrammar": "Use an interface with a disabled buy action and an empty or deliberately lost sell location.",
      "remixHooks": ["sell button not installed", "404: sell not found", "user removed sell manually"],
      "toneTags": ["defiance", "self-deprecation", "interface joke"],
      "riskFlags": ["Avoid presenting refusal to sell as financial advice."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-daily-four", "reddit-cant-find-sell"]
    },
    {
      "id": "motif-disable-sell",
      "title": "Then Disable Sell Too",
      "canonicalLine": "Might as well remove the sell button too.",
      "aliases": ["disable sell"],
      "category": "retail counter-move",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "Only one side of the market is restricted.",
      "punchline": "Retail asks for the restriction to be completed in the direction that prevents capitulation.",
      "meaning": "The imposed limit is rhetorically converted into a holding tool.",
      "visualGrammar": "Pair two controls: one removed by authority, the other voluntarily taped over by the user.",
      "remixHooks": ["finish the job", "symmetrical market design", "two buttons, zero exits"],
      "toneTags": ["defiance", "absurd compliance"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-daily-four"]
    },
    {
      "id": "motif-buy-buy",
      "title": "BUY / BUY",
      "canonicalLine": "The interface now offers buy and buy.",
      "aliases": ["two buy buttons", "fixed sell button"],
      "category": "interface inversion",
      "originDate": "2021-02-01",
      "originPlatform": "r/wallstreetbets",
      "setup": "A standard interface gives the user buy and sell choices.",
      "punchline": "Sell is relabeled as another buy action.",
      "meaning": "Choice architecture is replaced with pure community conviction.",
      "visualGrammar": "Two equally credible action buttons, both labeled BUY.",
      "remixHooks": ["buy now or buy later", "market or limit buy", "choose wisely: buy / buy"],
      "toneTags": ["minimal", "absurd UX", "portable"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-buy-buy", "reddit-fixed-sell"]
    },
    {
      "id": "motif-decorative-button",
      "title": "The Decorative Buy Button",
      "canonicalLine": "The buy button is back, but only as decoration.",
      "aliases": ["display-only buy", "ornamental liquidity"],
      "category": "interface skepticism",
      "originDate": "2021-01-30",
      "originPlatform": "r/wallstreetbets",
      "setup": "The interface control visibly returns after a restriction.",
      "punchline": "Its presence is treated as cosmetic until unrestricted action is proven.",
      "meaning": "A label is not equivalent to agency.",
      "visualGrammar": "Place a polished button behind museum glass or attach a label reading display only.",
      "remixHooks": ["do not press exhibit", "feature flag: decorative", "button-shaped announcement"],
      "toneTags": ["skeptical", "deadpan", "museum logic"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-act-two"]
    },
    {
      "id": "motif-let-people-trade",
      "title": "Let the People Trade, Reversed",
      "canonicalLine": "Let the people trade.",
      "aliases": ["old tweet resurfaced"],
      "category": "institutional reversal",
      "originDate": "2021-01-28",
      "originPlatform": "X and news coverage",
      "setup": "An institution's earlier promise is placed beside its later restrictive action.",
      "punchline": "The institution supplies the text of its own criticism.",
      "meaning": "Archived brand language becomes a high-credibility meme template.",
      "visualGrammar": "Use a clean then/now pair with the earlier slogan above a disabled action.",
      "remixHooks": ["terms and conditions applied", "the people attempted to trade", "slogan pending risk review"],
      "toneTags": ["receipts", "institutional irony", "minimal"],
      "riskFlags": ["Keep the original date and context visible."],
      "reusePolicy": "link-only",
      "sourceIds": ["newsweek-let-trade"]
    },
    {
      "id": "motif-free-market-error",
      "title": "Free Market, Action Unavailable",
      "canonicalLine": "What a free and open market.",
      "aliases": ["free-market error"],
      "category": "institutional reversal",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "Open-market language is paired with an unavailable side of a trade.",
      "punchline": "The abstract ideal fails a one-button interface test.",
      "meaning": "Sarcasm compresses a political argument into product feedback.",
      "visualGrammar": "Treat the restriction as a system dialog: FREE MARKET / ACTION UNAVAILABLE.",
      "remixHooks": ["market open, button closed", "permissionless except this permission", "freedom currently rate-limited"],
      "toneTags": ["sarcasm", "system message", "political economy"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-removed", "newsweek-let-trade"]
    },
    {
      "id": "motif-trading-app-no-trading",
      "title": "Trading App Without Trading",
      "canonicalLine": "You cannot trade stock on the app made for trading stock.",
      "aliases": ["product contradiction"],
      "category": "product absurdity",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "A product's primary verb is temporarily unavailable.",
      "punchline": "The product is described only by what it no longer lets users do.",
      "meaning": "A complicated incident becomes a universally legible product contradiction.",
      "visualGrammar": "Use category labels that cancel themselves: TRADING APP / TRADING DISABLED.",
      "remixHooks": ["button app, button unavailable", "feature: no feature", "open app to close only"],
      "toneTags": ["literalism", "product critique", "deadpan"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-removed", "techcrunch-ux"]
    },
    {
      "id": "motif-robin-hood-betrayal",
      "title": "The Robin Hood Namesake Betrayal",
      "canonicalLine": "The real Robin Hood would not approve.",
      "aliases": ["you were supposed to fight Wall Street"],
      "category": "namesake irony",
      "originDate": "2021-01-28",
      "originPlatform": "Cross-platform image macros",
      "setup": "A broker named after a folk hero associated with helping the poor restricts a retail-favored trade.",
      "punchline": "The brand is judged by the literal ethics of its namesake.",
      "meaning": "The company name itself makes the critique portable.",
      "visualGrammar": "Contrast the green feather or folk hero with a Wall Street gate, betrayal scene, or reversed wealth transfer.",
      "remixHooks": ["wrong forest", "stole the button instead", "brand guidelines vs source material"],
      "toneTags": ["betrayal", "brand irony", "cinematic"],
      "riskFlags": ["Do not reuse copyrighted film stills without permission."],
      "reusePolicy": "link-only",
      "sourceIds": ["kym-real-robin-hood", "medium-fin-wars"]
    },
    {
      "id": "motif-monkey-glance",
      "title": "The Awkward Brand Glance",
      "canonicalLine": "Robinhood looks back at its own slogan.",
      "aliases": ["monkey puppet glance"],
      "category": "reaction template",
      "originDate": "2021-01-28",
      "originPlatform": "X and meme roundups",
      "setup": "An old promise is resurfaced during an event that appears to contradict it.",
      "punchline": "The reaction image supplies silent institutional embarrassment.",
      "meaning": "No argument is needed when the archive and current event are adjacent.",
      "visualGrammar": "Place an uncomfortable side-eye reaction between prior slogan and current restriction.",
      "remixHooks": ["legal reviewing old tweets", "brand account seeing the archive", "terms changed since posting"],
      "toneTags": ["reaction", "receipts", "silent"],
      "riskFlags": ["Use an original reaction image rather than copying a protected still."],
      "reusePolicy": "link-only",
      "sourceIds": ["gamespot-roundup", "newsweek-let-trade"]
    },
    {
      "id": "motif-one-share-ration",
      "title": "One Share Per Customer",
      "canonicalLine": "The button is back. You may press it once.",
      "aliases": ["one-share limit", "rationed buy"],
      "category": "restricted return",
      "originDate": "2021-01-29",
      "originPlatform": "Robinhood interface and r/wallstreetbets",
      "setup": "Purchasing returns with a strict maximum position allowance.",
      "punchline": "Restored access behaves like a ration coupon.",
      "meaning": "A binary missing-button story evolves into a quantitative limit joke.",
      "visualGrammar": "Show a ticket dispenser, one-use button, or purchase coupon stamped ONE.",
      "remixHooks": ["one press per household", "daily button allowance", "button free trial"],
      "toneTags": ["rationing", "bureaucratic", "product satire"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-one-share", "sec-staff-report"]
    },
    {
      "id": "motif-button-back",
      "title": "The Button Is Back",
      "canonicalLine": "The button came back.",
      "aliases": ["buy restored", "button returned"],
      "category": "return",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "A control that was unavailable becomes visible or usable again.",
      "punchline": "A routine product-state change is narrated as the return of a legendary object.",
      "meaning": "The object gains agency and a life cycle of its own.",
      "visualGrammar": "Use a recovered artifact, emergency restoration, resurrection, or lost-and-found visual.",
      "remixHooks": ["found onchain", "returned to service", "recovered after five years"],
      "toneTags": ["resurrection", "artifact", "triumphant"],
      "riskFlags": ["Differentiate historical restoration from the independent onchain remix."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-stocks-back", "buy-button-history"]
    },
    {
      "id": "motif-diamond-paper",
      "title": "Diamond Hands vs. Paper Hands",
      "canonicalLine": "Pressure reveals the material of your hands.",
      "aliases": ["diamonds", "paper"],
      "category": "commitment test",
      "originDate": null,
      "originPlatform": "Retail trading communities",
      "setup": "A volatile position creates pressure to exit.",
      "punchline": "The decision is treated as a material property of the holder's hands.",
      "meaning": "Abstract risk tolerance becomes a visual identity test.",
      "visualGrammar": "Contrast faceted crystalline hands with fragile paper hands around the same button.",
      "remixHooks": ["button tested at pressure", "industrial hand certification", "paper jam at sell"],
      "toneTags": ["identity", "binary", "visual metaphor"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["kym-diamond-hands", "abc-glossary"]
    },
    {
      "id": "motif-apes-strong",
      "title": "Apes Together Strong",
      "canonicalLine": "One hand is small. Many hands press.",
      "aliases": ["apes together"],
      "category": "collective action",
      "originDate": null,
      "originPlatform": "Retail trading communities",
      "setup": "Individual retail participants are small relative to institutions.",
      "punchline": "Their weakness is reversed through coordination.",
      "meaning": "The meme is a compressed theory of networked collective power.",
      "visualGrammar": "Many distinct hands converge on one shared action without a visible leader.",
      "remixHooks": ["the chain is the finger", "every community presses", "distributed hand"],
      "toneTags": ["collective", "warm", "rallying"],
      "riskFlags": ["Avoid implying coordinated market manipulation."],
      "reusePolicy": "original-remix",
      "sourceIds": ["kym-gamestop-event", "netflix-glossary"]
    },
    {
      "id": "motif-like-stock",
      "title": "We Like the Stock",
      "canonicalLine": "We like the stock.",
      "aliases": ["I like the stock"],
      "category": "plain-language doctrine",
      "originDate": null,
      "originPlatform": "r/wallstreetbets and public testimony",
      "setup": "A complicated market narrative invites an equally complicated justification.",
      "punchline": "The entire thesis is compressed into uncomplicated preference.",
      "meaning": "Simple language is more portable than analysis and harder to cross-examine.",
      "visualGrammar": "Use one object, one sentence, and no supporting chart.",
      "remixHooks": ["like the stock, not the app", "like the button", "preference confirmed"],
      "toneTags": ["simple", "doctrine", "repeatable"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["kym-gamestop-event", "reddit-stock-not-app", "house-hearing"]
    },
    {
      "id": "motif-still-in",
      "title": "If He Is Still In",
      "canonicalLine": "If he's still in, I'm still in.",
      "aliases": ["still in"],
      "category": "social proof",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "A recognizable participant posts a current position receipt.",
      "punchline": "Another participant outsources conviction to the continued presence of the first.",
      "meaning": "Receipts become a coordination device without formal leadership.",
      "visualGrammar": "Show a verified receipt followed by a chain of participants repeating the same decision.",
      "remixHooks": ["if the button is still on", "receipt says present", "public position, public inference"],
      "toneTags": ["social proof", "receipt", "call-and-response"],
      "riskFlags": ["Do not frame another person's position as investment advice."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-dfv-jan28", "kym-gamestop-event"]
    },
    {
      "id": "motif-not-squoze",
      "title": "Not Yet Squoze",
      "canonicalLine": "The squeeze has not yet squoze.",
      "aliases": ["not squoze"],
      "category": "grammatical mutation",
      "originDate": "2021-01-26",
      "originPlatform": "r/wallstreetbets",
      "setup": "Participants debate whether a market event has completed.",
      "punchline": "A fake past participle makes an uncertain thesis sound like folk wisdom.",
      "meaning": "Incorrect grammar signals in-group fluency and makes the claim memorable.",
      "visualGrammar": "Use an official-looking status panel with the impossible status NOT SQUOZE.",
      "remixHooks": ["button not yet pressed", "fees not yet fed", "lore not yet finished"],
      "toneTags": ["linguistic", "in-group", "deadpan"],
      "riskFlags": ["Avoid attaching the formula to a price promise."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-squoze"]
    },
    {
      "id": "motif-buy-dip-blocked",
      "title": "Buy the Dip, Button Pending",
      "canonicalLine": "Buy the dip, if the interface permits it.",
      "aliases": ["dip unavailable"],
      "category": "instruction contradiction",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "The canonical response to a decline is to buy, but buying is restricted.",
      "punchline": "The community's simplest instruction fails at the button layer.",
      "meaning": "Market belief and platform permission become visibly separate systems.",
      "visualGrammar": "Place BUY THE DIP above a disabled buy control or an empty socket.",
      "remixHooks": ["dip detected, actuator missing", "strategy valid, button unavailable", "manual override requested"],
      "toneTags": ["frustration", "instruction", "interface"],
      "riskFlags": ["Do not present the phrase as current financial advice."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-megathread-four", "reddit-daily-four"]
    },
    {
      "id": "motif-hold-line",
      "title": "Hold the Line",
      "canonicalLine": "Hold the line.",
      "aliases": ["the line holds"],
      "category": "collective action",
      "originDate": null,
      "originPlatform": "Retail trading communities",
      "setup": "Volatility and external pressure threaten collective conviction.",
      "punchline": "A portfolio decision is narrated as defense of shared territory.",
      "meaning": "Military language turns passive holding into visible action.",
      "visualGrammar": "A row of holders guards a fluorescent control or a literal market line.",
      "remixHooks": ["line operational", "button perimeter secured", "no retreat from interface"],
      "toneTags": ["rallying", "collective", "defensive"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-megathread-four", "kym-gamestop-event"]
    },
    {
      "id": "motif-yolo-receipt",
      "title": "The Public Position Receipt",
      "canonicalLine": "Position or it did not happen.",
      "aliases": ["YOLO update", "proof of bagwork"],
      "category": "verifiable spectacle",
      "originDate": null,
      "originPlatform": "r/wallstreetbets",
      "setup": "A person makes a market claim or expresses conviction.",
      "punchline": "The community demands a timestamped position screenshot instead of rhetoric.",
      "meaning": "Verifiability becomes status and content at the same time.",
      "visualGrammar": "Use a plain receipt, timestamp, and position delta; decoration is secondary.",
      "remixHooks": ["proof of press", "public position, public consequence", "receipt attached"],
      "toneTags": ["proof", "status", "accountability"],
      "riskFlags": ["Redact account numbers and personal information."],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-dfv-jan28", "reddit-dfv-monthend"]
    },
    {
      "id": "motif-congressman-loop",
      "title": "Thank You, Congressman",
      "canonicalLine": "Thank you, Congressman.",
      "aliases": ["hearing time loop"],
      "category": "testimony loop",
      "originDate": "2021-02-18",
      "originPlatform": "Congressional hearing and live reactions",
      "setup": "A direct question arrives under a strict time limit.",
      "punchline": "Formal gratitude consumes the opening while the answer remains pending.",
      "meaning": "Procedural politeness becomes a symbol of non-answering.",
      "visualGrammar": "Use a progress bar where the formal introduction consumes most of the available time.",
      "remixHooks": ["answer loading", "opening remarks remaining", "button status: thank you"],
      "toneTags": ["bureaucratic", "loop", "hearing"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["house-hearing"]
    },
    {
      "id": "motif-bulgaria-detour",
      "title": "When I Was a Boy in Bulgaria",
      "canonicalLine": "When I was a boy in Bulgaria...",
      "aliases": ["Bulgaria origin story"],
      "category": "testimony detour",
      "originDate": "2021-02-18",
      "originPlatform": "Congressional hearing and live reactions",
      "setup": "Someone is asked a specific operational question.",
      "punchline": "The answer begins with an origin story geographically and logically far from the requested fact.",
      "meaning": "Biography becomes a reusable symbol for strategic deflection.",
      "visualGrammar": "Draw a route map from DIRECT QUESTION to BULGARIA without reaching ANSWER.",
      "remixHooks": ["before the button, childhood", "answer route recalculating", "origin story mode"],
      "toneTags": ["detour", "hearing", "absurd distance"],
      "riskFlags": ["Keep the joke about answer structure, not nationality."],
      "reusePolicy": "original-remix",
      "sourceIds": ["house-hearing"]
    },
    {
      "id": "motif-system-risk-button",
      "title": "Complex Plumbing, One Button",
      "canonicalLine": "Clearing risk entered the chat as a missing button.",
      "aliases": ["market plumbing becomes UI"],
      "category": "systems compression",
      "originDate": "2021-01-28",
      "originPlatform": "Cross-platform commentary",
      "setup": "Settlement, margin, deposits, and counterparty risk interact behind the interface.",
      "punchline": "The user experiences the entire stack as one control that no longer works.",
      "meaning": "The button is a perfect systems symbol because it joins infrastructure to human consequence.",
      "visualGrammar": "Show dense pipes, gears, or ledgers terminating in one simple BUY control.",
      "remixHooks": ["all infrastructure leads to button", "one pixel, entire clearing stack", "the chain is the finger"],
      "toneTags": ["systems", "visual explanation", "high-low contrast"],
      "riskFlags": ["Distinguish documented mechanics from speculation about motive."],
      "reusePolicy": "original-remix",
      "sourceIds": ["sec-staff-report", "robinhood-update", "techcrunch-ux"]
    },
    {
      "id": "motif-never-forget",
      "title": "Never Forget the Date",
      "canonicalLine": "January 28 is buy-button removal day.",
      "aliases": ["anniversary post", "buy-button day"],
      "category": "calendar lore",
      "originDate": "2024-01-28",
      "originPlatform": "GameStop communities",
      "setup": "A market event becomes more than a news item by acquiring a recurring anniversary.",
      "punchline": "The interface state is commemorated like a civic event.",
      "meaning": "Calendar recurrence keeps a meme legible after the original feed has disappeared.",
      "visualGrammar": "Use archival date stamps, memorial plaques, or recurring system reminders.",
      "remixHooks": ["annual button inspection", "five years of uptime debt", "calendar says remember"],
      "toneTags": ["memory", "archival", "ritual"],
      "riskFlags": ["Avoid equating a market incident with human tragedy."],
      "reusePolicy": "original-remix",
      "sourceIds": ["gme-anniversary"]
    },
    {
      "id": "motif-hero-restores-button",
      "title": "The Hero Restores the Button",
      "canonicalLine": "The hero we need carries a working buy button.",
      "aliases": ["button rescuer"],
      "category": "rescuer archetype",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "A vital action is unavailable and institutions appear unhelpful.",
      "punchline": "An absurd or fictional rescuer arrives with the missing control.",
      "meaning": "Restoring ordinary agency is elevated into a heroic act.",
      "visualGrammar": "Depict a ceremonial handoff of one functional button as if it were a rescued artifact.",
      "remixHooks": ["returned from the vault", "emergency button delivery", "chain-of-custody complete"],
      "toneTags": ["heroic", "absurd scale", "artifact"],
      "riskFlags": ["Use original characters or licensed source material."],
      "reusePolicy": "link-only",
      "sourceIds": ["reddit-hero"]
    },
    {
      "id": "motif-im-in",
      "title": "You Son of a Bitch, I'm In",
      "canonicalLine": "You found a route to the button? I'm in.",
      "aliases": ["I'm in"],
      "category": "participation trigger",
      "originDate": "2021-01-28",
      "originPlatform": "Cross-platform image macros",
      "setup": "A complicated pitch or absurd plan is presented.",
      "punchline": "One detail is enough to trigger immediate participation.",
      "meaning": "The meme celebrates willingness to join before every uncertainty is resolved.",
      "visualGrammar": "Use a clear trigger in panel one and an immediate commitment in panel two.",
      "remixHooks": ["button mentioned, decision complete", "no deck required", "one control due diligence"],
      "toneTags": ["participation", "reaction", "fast"],
      "riskFlags": ["Use an original reaction image rather than a copyrighted television still."],
      "reusePolicy": "link-only",
      "sourceIds": ["reddit-im-in", "gamespot-roundup"]
    },
    {
      "id": "motif-like-stock-not-app",
      "title": "Like the Stock, Not the App",
      "canonicalLine": "We like the stock. We have notes on the app.",
      "aliases": ["stock yes, app no"],
      "category": "slogan inversion",
      "originDate": "2021-01-28",
      "originPlatform": "r/wallstreetbets",
      "setup": "A positive community slogan exists beside growing anger at the trading platform.",
      "punchline": "The slogan is preserved while its object is split in two.",
      "meaning": "Support for the trade and criticism of the intermediary can coexist.",
      "visualGrammar": "Use a two-column preference card: STOCK / LIKE; APP / REVIEW PENDING.",
      "remixHooks": ["love the button, audit the plumbing", "asset selected, venue rejected", "thesis intact, interface disputed"],
      "toneTags": ["inversion", "product review", "concise"],
      "riskFlags": [],
      "reusePolicy": "original-remix",
      "sourceIds": ["reddit-stock-not-app"]
    },
    {
      "id": "motif-button-as-character",
      "title": "The Button as Protagonist",
      "canonicalLine": "The button left. The button returned. The button remembers.",
      "aliases": ["object protagonist"],
      "category": "object mythology",
      "originDate": null,
      "originPlatform": "Later retellings and the independent Buy Button project",
      "setup": "A control is repeatedly described as being removed, restored, found, or protected.",
      "punchline": "The interface object acquires a biography independent of the application.",
      "meaning": "Personifying the button preserves the event without requiring the full market explanation every time.",
      "visualGrammar": "Keep the button visually unchanged while environments, owners, and eras change around it.",
      "remixHooks": ["the button would not die", "button in witness protection", "artifact status: operational"],
      "toneTags": ["timeless", "object lore", "cinematic"],
      "riskFlags": ["Clearly disclose project independence from Robinhood."],
      "reusePolicy": "original-remix",
      "sourceIds": ["gme-anniversary", "buy-button-history"]
    },
    {
      "id": "motif-onchain-return",
      "title": "It Came Back Onchain",
      "canonicalLine": "They turned it off. It came back onchain.",
      "aliases": ["onchain button"],
      "category": "project continuation",
      "originDate": "2026-07-08",
      "originPlatform": "The Buy Button project",
      "setup": "A famous centralized interface object disappeared during a historic restriction.",
      "punchline": "Five years later, an independent meme on Robinhood Chain treats the object as permanently recoverable.",
      "meaning": "The project turns old interface lore into a new public artifact without claiming to be Robinhood's original control.",
      "visualGrammar": "Use the fluorescent button as a first-viewport object with archival date language and an explicit independence disclosure.",
      "remixHooks": ["still on", "the chain is the finger", "off switch decorative"],
      "toneTags": ["continuation", "onchain", "minimal"],
      "riskFlags": ["Always preserve non-affiliation language.", "Do not imply historical ownership or endorsement."],
      "reusePolicy": "original-remix",
      "sourceIds": ["buy-button-history"]
    }
  ],
  "grammar": [
    {
      "id": "grammar-absence",
      "label": "Expected control / missing control",
      "description": "Put the expected market action and its absence in the same frame. The user should understand the conflict before reading the caption.",
      "formula": "NORMAL INTERFACE + EMPTY BUY LOCATION = PLATFORM POWER",
      "examples": ["Buy action unavailable", "Empty button socket", "A chart with no way to enter"],
      "sourceIds": ["reddit-bitcoin-blocked", "reddit-removed"]
    },
    {
      "id": "grammar-inversion",
      "label": "Authority removes buy / retail removes sell",
      "description": "Answer an involuntary restriction with a voluntary commitment that mirrors it.",
      "formula": "THEY REMOVED BUY + I REMOVED SELL = STALEMATE AS JOKE",
      "examples": ["404 sell not found", "Buy / Buy controls", "Sell taped over by user"],
      "sourceIds": ["reddit-daily-four", "reddit-buy-buy"]
    },
    {
      "id": "grammar-receipt",
      "label": "Claim / public receipt",
      "description": "Replace promotional language with a plain, timestamped artifact. The receipt is both proof and status object.",
      "formula": "CLAIM + VERIFIABLE POSITION = PORTABLE CONVICTION",
      "examples": ["YOLO update", "Public transaction", "Timestamped interface state"],
      "sourceIds": ["reddit-dfv-jan28", "reddit-dfv-monthend"]
    },
    {
      "id": "grammar-brand-reversal",
      "label": "Old promise / current behavior",
      "description": "Let archived institutional language provide the setup and the current product state provide the punchline.",
      "formula": "BRAND PROMISE + CONTRADICTORY SCREENSHOT = SELF-WRITING MEME",
      "examples": ["Let the people trade / action unavailable", "Robin Hood / locked gate"],
      "sourceIds": ["newsweek-let-trade", "kym-real-robin-hood"]
    },
    {
      "id": "grammar-compression",
      "label": "Complex system / simple consequence",
      "description": "Show the infrastructure honestly, then end it at one human-scale object.",
      "formula": "CLEARING + COLLATERAL + SETTLEMENT -> ONE BUTTON",
      "examples": ["Pipes ending at BUY", "A clearing diagram terminating in one disabled control"],
      "sourceIds": ["sec-staff-report", "robinhood-update", "techcrunch-ux"]
    },
    {
      "id": "grammar-deadpan",
      "label": "Institutional tone / absurd fact",
      "description": "Describe an obviously ridiculous interface condition in calm operational language.",
      "formula": "FORMAL STATUS LABEL + MEME REALITY = DEADPAN AUTHORITY",
      "examples": ["SELL BUTTON: NOT INSTALLED", "BUY BUTTON: DECORATIVE", "ONE PRESS PER HOUSEHOLD"],
      "sourceIds": ["reddit-act-two", "reddit-one-share", "reddit-cant-find-sell"]
    },
    {
      "id": "grammar-call-response",
      "label": "Public action / copied action",
      "description": "A visible participant acts, then the audience repeats a compact response that signals shared state.",
      "formula": "HE IS STILL IN -> I AM STILL IN",
      "examples": ["If the button is still on, I am still pressing", "Receipt posted, response copied"],
      "sourceIds": ["reddit-dfv-jan28", "kym-gamestop-event"]
    },
    {
      "id": "grammar-object-mythology",
      "label": "One object / many eras",
      "description": "Keep the hero object stable while moving it through institutions, communities, and time. Repetition turns a UI control into lore.",
      "formula": "SAME BUTTON + NEW OWNER OR ERA = CONTINUING STORY",
      "examples": ["Button in evidence locker", "Button returned onchain", "Button passed to the next generation"],
      "sourceIds": ["gme-anniversary", "buy-button-history"]
    }
  ],
  "rights": {
    "databaseLicense": "The original taxonomy, descriptions, and database structure may be reused with attribution to The Buy Button Lore Database.",
    "sourceMedia": "Third-party images, posts, articles, and marks remain the property of their respective owners. This database links to them and does not grant reuse rights.",
    "quotationPolicy": "Only short identifying phrases are stored. Longer source material should be read at the linked source and reused only with permission or another valid legal basis.",
    "takedownContact": "security@hoodbuybutton.com"
  }
}
