{
  "schema": "phishdestroy.reading-edition.v2",
  "schema_url": "https://phishdestroy.io/steam_dossier/exports/reading-2026-10-18/article.schema.json",
  "object_type": "Dated article reading edition with PDF digest",
  "id": "major_sponsorships",
  "language": "en",
  "title": "Ten days to stop. Seven years later, at G2’s booth. — The Steam Dossier",
  "author": "Agent Rowan",
  "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships",
  "source_file": "steam_dossier/major_sponsorships.html",
  "source_html_sha256": "edfbdbd5c1c53bd2b12c9ee941c07f16159b1a61b6a5cf17441c5ea7b5e86879",
  "exported_at": "2026-10-18T11:58:30.589Z",
  "edition_date": "2026-10-18",
  "scope": {
    "text": "Authored discussion and analytical tables from the current source HTML. Interactive controls and navigation are omitted; interactive datasets remain linked.",
    "omissions": [],
    "evidence_status": "The signature authenticates this publication, not the truth or authenticity of third-party evidence."
  },
  "pdf": {
    "filename": "major_sponsorships.pdf",
    "url": "https://phishdestroy.io/steam_dossier/exports/reading-2026-10-18/en/major_sponsorships.pdf",
    "sha256": "71ebd7e47527c042440634cc273186375bb9deeb041415259fe7b9be2755cf61",
    "bytes": 772230,
    "pages": 13
  },
  "integrity": {
    "signed_object": "major_sponsorships.content.json",
    "signature_url": "https://phishdestroy.io/steam_dossier/exports/reading-2026-10-18/en/major_sponsorships.content.json.asc",
    "checksum_url": "https://phishdestroy.io/steam_dossier/exports/reading-2026-10-18/en/major_sponsorships.content.json.sha256",
    "format": "ASCII-armored detached OpenPGP",
    "signing_key_fingerprint": "129FC7F39C40C69D2EF3C329BFCF9E8DD295EE01",
    "public_key": "https://phishdestroy.io/.well-known/pgp-key.txt",
    "scope": "Exact UTF-8 JSON bytes, including content and the PDF SHA-256. No cryptographic PDF document signature is asserted."
  },
  "license": {
    "identifier": "CC0-1.0",
    "application": "Authored material only; third-party material retains its own rights.",
    "rights_statement_url": "https://phishdestroy.io/steam_dossier/steam_tos_assets/license-rights.json",
    "rights_statement_sha256": "80d67354f8e5efd65b03696be950fb0f95c188d0089b1604281d0a4daff3f4cb"
  },
  "content": {
    "text": "Contents · Live article\n\nCOUNTER-STRIKE / SPONSORSHIP, ACCESS & ENFORCEMENT\n\nTen days to stop. Seven years later, at G2’s booth.\n\nValve demanded that gambling operators stop using Steam in 2016. Seven years later, CSGORoll announced a G2 activation at the Paris Major. Its next published trading workaround asked users for a Steam session token. These records follow the gap between platform rules, commercial promotion and account access.\n\nRead the investigation ↓RWBy Agent Rowan5 October 2026 · The Steam Dossier\n\nTHE RECORD / THREE CONNECTED DOCUMENTS\n\n2016The demandValve’s letters give gambling operators ten days.012023The promotionCSGORoll announces G2 and a Paris Major activation.022024The credentialThe operator publishes Steam session-token instructions.03\nCASE FILE / MAJOR SPONSORSHIPSPUBLIC RECORD · 2016—2026\n01 · The Major connection\nThe audience comes for the player. The sponsor gets the attention.\n\nOn 2 May 2023, CSGORoll announced a G2 partnership: branding on the G2 and OYA jerseys, plus a skin-and-prize activation at G2’s Paris Major booth. Its announcement described a CSGORoll-themed slot machine. The operator itself placed the gambling brand at the intersection of a famous team, valuable skins and a flagship Counter-Strike event. CSGORoll’s announcement · 2 May 2023 ↗\n\nATTENTIONG2 / playersFans follow a familiar team.\nACTIVATIONParis Major boothThe announced slot-machine attraction.\nBRAND EXPOSURECSGORollSkins and prizes carry the sponsor’s identity.\n\nAdvertising mechanism inferred from the operator’s announcement. The source establishes what was promoted; it is not footage confirming the booth’s operation.\n\nSharpr’s 4 May report described the launch video featuring m0NESY, who had turned 18 the day before the partnership announcement. A young star was the face of a skin-gambling promotion. That is the commercial bridge this investigation follows: the player earns the audience’s attention; the sponsor buys access to it. Sharpr · G2’s skin-gambling deal ↗\n\nThe announcement documents a team partnership and a planned Major activation. It does not establish a direct CSGORoll–Valve sponsorship contract. Establishing who approved the activation would require the team’s, organiser’s and distributors’ agreements and decisions.\n\nREAD WITH THE MAJOR DATA98.7% of recorded weapon inspections involve a non-default finish.\n\nSeven Majors. 491 maps. The skin is already in the foreground before a sponsor enters the picture.\n\nOpen the Major showcase →\n02 · Before the announcement\nA warning existed. Forty-three days earlier.\n43days\n\nThe Australian regulator’s original warning is dated 20 March 2023. CSGORoll announced the G2 deal on 2 May. The addressee was Feral Holdings Limited, at a Belize address, identified as the operator of CS:GO Roll. ACMA · original formal warning ↗\n\nACMA’s 17 May public statement described the economic loop: skins become gambling credits; winnings become skins; external services convert those skins into money. It reported the service’s withdrawal from Australia. A cosmetic’s lack of weapon damage does not remove its financial role. ACMA · enforcement announcement ↗\n\n43 days = 2 May − 20 March 2023. The warning concerns Australian law. These dates do not establish when G2 learned of it.\n\nEXHIBIT 01 / ACMA WARNING\nOriginal document, page 1 of 2. Date on page 2.\n03 · The 2016 demand\nTen days to stop. A letter is not an outcome.\n\nOn 13 July 2016, Valve described the mechanism in public: OpenID identifies a Steam account; automated accounts make web calls resembling ordinary users. Using those mechanisms for gambling, Valve said, violated its API and user agreements. This was a known infrastructure route, described by the platform itself. Valve · In-Game Item Trading Update ↗\n\nLetters signed by general counsel Karl Quackenbush gave operators ten days to stop commercial use of Steam accounts. Ars reported 23 recipients and Valve’s confirmation of the letter. HLTV identified CSGOFAST and CSGOLounge among the named sites. These records do not establish CSGORoll as a recipient. Ars · the cease-and-desist letters ↗ HLTV · named recipients ↗\n\nJUL 2016Valve declares the gambling use prohibited.\n\nOpenID, automated accounts and a ten-day demand.\n\nDEC 2017CSGOFAST Cup 2 enters the tournament record.\n\nEight teams; $10,000 prize pool.\n\nMAY 2023CSGORoll announces G2 and a Paris Major activation.\n\nJerseys, a branded slot machine, skins and prizes.\n\nAPR 2024CSGORoll publishes its session-token instructions.\n\nA credential handed from the Steam session to the operator.\n\nOCT 2026The checked Link Filter route allows continuation.\n\nA dated response, preserved with its checksum.\n\nHLTV’s event record dates CSGOFAST Cup 2 to 20–22 December 2017. The brand’s later tournament presence is documented. That alone does not establish uninterrupted operation or unchanged ownership after the 2016 demand. CSGOFAST Cup 2 · event record ↗\n\nThe letter records what Valve demanded. Enforcement records would show what happened next.\n04 · Beyond a jersey\nWhen one advertising surface closes, another can carry the brand.\n\nRushBee’s own Metality case study names GG.BET as its client and describes a Vitality campaign built around touring rock-star imagery. It says brand placement in game packs maintained visibility while adhering to jersey sponsorship restrictions. A branded bus, gaming sessions and player meet-and-greets carried the campaign beyond the shirt. RushBee · Metality campaign ↗\n\nThis is a documented intermediary and a documented change of advertising surface. It is not, by itself, evidence of a concealed owner or an unlawful workaround. The useful question is concrete: what does a jersey restriction prevent when the same sponsor can reach fans through the surrounding event?\n\nBLAST’s January 2024 announcement gives a second route: GG.BET’s BLAST Premier partnership included on-broadcast betting odds, predictions, Pick ’Ems, giveaways and physical and digital branding. It also records GG.BET’s previous partnerships with the Stockholm 2021 and Antwerp 2022 Majors. The newly announced deal was for BLAST Premier; it should not be relabelled as a new Major contract. BLAST · GG.BET partnership ↗\n\nSPONSORSHIP ROUTES / DIFFERENT CONTRACTS, DIFFERENT SURFACES\nRelationship\tDocumented surface\tRecord\nCSGORoll → G2\tTeam jerseys; announced Paris Major booth activation\t2 May 2023\nGG.BET → RushBee / Vitality campaign\tGame packs, branded tour bus, meet-and-greets\tAgency case study\nGG.BET → BLAST Premier\tOdds in the broadcast, predictions, content and branding\t22 Jan 2024\nCSGOEmpire → Empire Cup\tAnnounced $50,000 online tournament\t26 Mar 2024\n\nSources: operator announcement, agency case study, organiser announcement and HLTV’s tournament reporting. These are distinct relationships, not a single ownership chain.\n\nCSGOEmpire announced a $50,000 online cup with Fortuna in March 2024. After the disruption at the Copenhagen Major on 29 March, participants withdrew; this was not the Paris Major of 2023. A later 3DMAX statement dated 2 March 2025 confirmed that its brief Empire sponsorship had been terminated. The record shows both commercial recruitment and pushback, not one permanent partnership. HLTV · Empire Cup announcement ↗ HLTV · withdrawals ↗ 3DMAX · termination statement ↗\n\nValve’s currently published tournament licence has separate provisions for betting sponsorship and skin-economy sponsors. That distinction makes the applicable contract, date and jurisdiction material. Today’s licence cannot establish which clause governed a 2023 activation. Valve · tournament licence, §2.4(d)–(e) ↗\n\n05 · The session-token route\nThe operator’s instruction: hand over the token.\n\nThe sponsorship buys attention. The trading workflow asks for something else: a credential from the customer’s Steam session. In its 10 April 2024 WebAPI P2P SOLUTION post, CSGORoll told sellers to copy a webapi_token from their authenticated Steam browser session into the operator’s trading page. CSGORoll · published instructions ↗\n\nSTEAMUser sessionA Steam-issued access token.\nUSER ACTIONCredential transferThe token is copied outside Steam.\nCSGOROLLTrade monitoringThe operator’s stated purpose.\n\nThe post addressed sellers listing skins, rather than buyers alone. It described daily token renewal, invalidation after logout or session termination, and encrypted storage. These are the operator’s claims about use and handling. The post was still publicly accessible when collected; that does not establish that its 2024 procedure remains in use unchanged.\n\nThe user key and the session token are different credentials.\n\nSteam users manage a personal Steam Web API key at steamcommunity.com/dev/apikey ↗. This is the user-key route, not a Steamworks publisher credential for a game studio. Valve’s authentication documentation explicitly separates User Keys from Publisher Keys. Valve · User Keys and Publisher Keys ↗\n\nCSGORoll’s cited procedure asks for a different object: the session’s webapi_token, not the personal API key registered on that page. The sample examined for this investigation is a JWT access token. JWT describes its format; the API is the interface that accepts it. A token accepted by a Steam endpoint does not become a publisher key. JWT format · RFC 7519 ↗\n\nPERSONAL WEB API KEY\nRegistered on the user’s account\n\nA separately managed credential at Steam Community’s API-key page. Its creation and revocation are distinct from those of a browser-session access token.\n\nUser API-key management ↗\nSESSION ACCESS TOKEN / JWT\nIssued in the logged-in session\n\nThe credential requested in the cited workflow. Its expiry, accepted endpoints and revocation depend on the session-token system; the API-key page does not define those controls.\n\nMaintainer’s access-token account ↗\n\nThe distinction is documented in trade tooling. In March 2024, the maintainer of node-steam-tradeoffer-manager described access-token authentication for parts of Steam WebAPI, including a fallback when an account lacked an API key and registration required mobile confirmation. The maintainer dates that confirmation requirement to late 2023 and calls the token route officially unsupported. This establishes a documented alternative credential path; it does not establish which library CSGORoll used. Library maintainer · Access Tokens ↗\n\nThe trust boundary moves after sign-in.\n\nSteam OpenID confirms a Steam identity to the relying site. That sign-in step alone does not give the site the user’s Steam session token. CSGORoll’s separate copy-and-paste instruction is the material step: a session credential crosses to the operator. Valve · Steam OpenID provider ↗\n\nThe published instruction supplies no endpoint-level permission list or evidence of an independently revocable, site-specific grant. Its promise to use the token for monitoring does not establish that Steam restricts the token to that purpose. The questions for the platform are the permissions accepted by each endpoint and the mechanism for ending the transferred access.\n\nA confirmation gate on API-key registration does not close a separate session-token route.\n\nContinue in Part II: which credential crosses the boundary? →\n\n06 · The cross-IP test\nThe token worked from a different IP.\n\nThe source reports testing the same session access token from a different IP address and receiving authenticated access. In that reported test, a change of source IP did not cause the server to reject the credential. This is a behavioural observation, separate from decoding the token.\n\nThe sample decoded for this investigation declares EdDSA and an audience of web:community. Its ip_subject and ip_confirmer values match. The account identifier, IP addresses and credential are withheld.\n\nDECLARED AUDIENCEweb:community\nEXPIRY − ISSUE TIME24h 20m 49s\nREPORTED CROSS-IP TESTAccess accepted\n\nThe result matters because the IP fields can look like a security boundary. A recorded address is not, by itself, a server-enforced restriction. The source’s test reports that the boundary did not hold for the request tested. It does not establish that every Steam endpoint accepts the token from every possible IP.\n\nTest provenance: result supplied to this investigation by the source. The request log, endpoint and test time are not included in this publication; the editorial review did not independently replay the credential.\n\nThe sample’s time claims span 87,649 seconds. This is the interval encoded in that sample, not a measured guarantee of usable access or a universal Steam token lifetime. Local decoding alone did not validate the signature.\n\nNeither the personal API-key settings nor Steamworks publisher-key restrictions establish the IP controls on this JWT. The relevant evidence is the response to the session token at the endpoint under test. The reported cross-IP success is a reason to examine that control directly.\n\n07 · The public control\nThe response was a warning. It offered a way through.\nCAPTURE / 05 OCT 2026 · 16:20 UTCUNAUTHENTICATED GET · HTTP 200\n\nsteamcommunity.com/linkfilter/?url=csgoroll.com\n\nContinue to external site\n\nThe captured Steam response offered continuation.\nNo “Link Blocked” screen was present.\n\nOpen the checked Steam route ↗\n\nTextual reconstruction of the saved response; not an interactive Steam security dialog.\n\nThis check establishes the result for one URL at one time. It does not reveal sanctions against trading accounts or imply Valve’s endorsement. It does leave a precise enforcement question: what criterion governs the public warning for an operator whose own instructions describe collecting Steam session tokens?\n\nResponse provenance and SHA-256\nRetrieved\n2026-10-05T16:20:36.939554+00:00\nRequest\nUnauthenticated HTTP GET; no user token submitted\nSaved response SHA-256\n0878605b1ee6eead0ad27e515fd9d1b05cf657046f1ec7c7df666e73cccf324b\nRead the captured response text ↓\n08 · The missing enforcement trail\nWho was removed? Who was allowed back?\n\nNew York’s Attorney General raised precisely this selection problem in a complaint filed on 25 February 2026. Paragraphs 95–99 allege exclusions from the 2016 campaign and later restoration of access for certain services. These are the plaintiff’s allegations, not findings by a court. They identify records that matter: the exemption criteria, internal decisions and restoration trail. New York v. Valve · complaint, §§95–99 ↗\n\nValve also documented concrete action against OPSkins ExpressTrade in 2018. The question is the reach, consistency and durability of enforcement: which route was closed, whether its replacement was detected, and which commercial uses were permitted to continue. Valve · ExpressTrade ↗\n\nThe documents this record calls for\n2016 recipients and outcomes. Account actions, follow-up and the reasons for exclusions.\nEvent approval. Who approved the advertised G2 activation, under which dated agreements?\nCredential boundaries. Which endpoints accept session tokens, with what permissions, IP controls and revocation?\nPublic warnings. The criteria for blocking, allowing or restoring the domains in this record.\n\nThe ten-day deadline was a demand made of the operators.\nTen years later, its enforcement belongs on the record.\n\n09 · Sources & authorship\nFollow the documents.\n\nThis article connects dated public records, a locally decoded and redacted token sample, a source-reported cross-IP test, and a preserved unauthenticated Link Filter response. Source links sit beside each claim. Interpretations, announcements and allegations are identified where they appear.\n\nS01\nG2 / CSGORoll announcement ↗operator · 2023-05-02\nS02\nSharpr: G2 skin gambling deal ↗reporting · 2023-05-04\nS40\nACMA formal warning to Feral Holdings ↗regulator · 2023-03\nS03\nACMA: CSGORoll warning ↗regulator · 2023-05-17\nS04\nValve: In-Game Item Trading Update ↗valve · 2016-07-13\nS06\nArs: July letters confirmed by Valve ↗reporting · 2016-07-20\nS34\nValve letters / CSGOFAST named ↗reporting · 2016-07-20\nS19\nCSGOFAST Cup 2 ↗event-record · 2017-12-20/2017-12-22\nS23\nRushBee Metality campaign ↗agency-case-study · Retrieved 5 October 2026\nS10\nBLAST Premier / GG.BET ↗organizer · 2024-01-22\nS16\nCSGOEmpire Cup announcement ↗reporting · 2024-03-26\nS17\nWithdrawals after Copenhagen disruption ↗reporting · 2024-03-30\nS44\n3DMAX termination statement ↗team-social · 2025-03\nS08\nValve Limited Game Tournament License ↗valve-current · Retrieved 5 October 2026\nS39\nCSGORoll WebAPI P2P Solution ↗operator · 2024-04-10\nS31\nJWT standard ↗standard · 2015-05\nS27\nSteam Community · OpenID provider ↗valve-docs · Retrieved 5 October 2026\nS29\nAccess Tokens: tradeoffer-manager ↗maintainer-primary · 2024-03-29\nS45\nSteam Community · personal API-key management ↗valve-user-account · Sign-in required\nS24\nSteam Web API · User Keys and Publisher Keys ↗valve-docs · Retrieved 5 October 2026\nS07\nNY OAG v Valve complaint ↗court-pleading · 2026-02-25\nS37\nValve OPSkins / ExpressTrade action ↗valve · 2018\nS33\nSteam Link Filter: csgoroll.com ↗direct-observation · 2026-10-05\n\nTHE STEAM DOSSIER / INDIVIDUALLY ATTRIBUTED MATERIAL\n\nAgent Rowan\n\nEditorial pseudonym · Published 5 October 2026\nAggregated by PhishDestroy.\n\nFind this material in the author map →\nRowanFOLLOW THE EVIDENCE.\nArticle PDF ↓Article JSON ↓PGP signature ↓Source register ↓",
    "headings": [
      {
        "level": 1,
        "text": "Ten days to stop. Seven years later, at G2’s booth.",
        "anchor": "pd-major_sponsorships--heading-1",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#overview"
      },
      {
        "level": 2,
        "text": "The audience comes for the player. The sponsor gets the attention.",
        "anchor": "pd-major_sponsorships--heading-2",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#stage"
      },
      {
        "level": 2,
        "text": "A warning existed. Forty-three days earlier.",
        "anchor": "pd-major_sponsorships--heading-3",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#warning"
      },
      {
        "level": 2,
        "text": "Ten days to stop. A letter is not an outcome.",
        "anchor": "pd-major_sponsorships--heading-4",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#letters"
      },
      {
        "level": 2,
        "text": "When one advertising surface closes, another can carry the brand.",
        "anchor": "pd-major_sponsorships--heading-5",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#sponsors"
      },
      {
        "level": 2,
        "text": "The operator’s instruction: hand over the token.",
        "anchor": "pd-major_sponsorships--heading-6",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#token"
      },
      {
        "level": 3,
        "text": "The user key and the session token are different credentials.",
        "anchor": "pd-major_sponsorships--heading-7",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#token"
      },
      {
        "level": 3,
        "text": "Registered on the user’s account",
        "anchor": "pd-major_sponsorships--heading-8",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#token"
      },
      {
        "level": 3,
        "text": "Issued in the logged-in session",
        "anchor": "pd-major_sponsorships--heading-9",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#token"
      },
      {
        "level": 3,
        "text": "The trust boundary moves after sign-in.",
        "anchor": "pd-major_sponsorships--heading-10",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#token"
      },
      {
        "level": 2,
        "text": "The token worked from a different IP.",
        "anchor": "pd-major_sponsorships--heading-11",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#ip"
      },
      {
        "level": 2,
        "text": "The response was a warning. It offered a way through.",
        "anchor": "pd-major_sponsorships--heading-12",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#filter"
      },
      {
        "level": 2,
        "text": "Who was removed? Who was allowed back?",
        "anchor": "pd-major_sponsorships--heading-13",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#accountability"
      },
      {
        "level": 3,
        "text": "The documents this record calls for",
        "anchor": "pd-major_sponsorships--heading-14",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#accountability"
      },
      {
        "level": 2,
        "text": "Follow the documents.",
        "anchor": "pd-major_sponsorships--heading-15",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#sources"
      },
      {
        "level": 3,
        "text": "Agent Rowan",
        "anchor": "pd-major_sponsorships--heading-16",
        "source_url": "https://phishdestroy.io/steam_dossier/major_sponsorships#authorship"
      }
    ],
    "links": [
      {
        "label": "Live article",
        "url": "https://phishdestroy.io/steam_dossier/major_sponsorships"
      },
      {
        "label": "CSGORoll’s announcement · 2 May 2023 ↗",
        "url": "https://www.csgoroll.com/blog/csgoroll-g2-collaboration/"
      },
      {
        "label": "Sharpr · G2’s skin-gambling deal ↗",
        "url": "https://sharpr.substack.com/p/g2-esports-takes-risk-on-skin-gambling"
      },
      {
        "label": "READ WITH THE MAJOR DATA98.7% of recorded weapon inspections involve a non-default finish.Seven Majors. 491 maps. The skin is already in the foreground before a sponsor enters the picture.Open the Major showcase →",
        "url": "https://phishdestroy.io/steam_dossier/major_skins#inspect"
      },
      {
        "label": "ACMA · original formal warning ↗",
        "url": "https://www.acma.gov.au/sites/default/files/2023-05/ED2313~1.PDF"
      },
      {
        "label": "ACMA · enforcement announcement ↗",
        "url": "https://www.acma.gov.au/articles/2023-05/acma-takes-action-against-illegal-skins-gambling-site"
      },
      {
        "label": "",
        "url": "https://www.acma.gov.au/sites/default/files/2023-05/ED2313~1.PDF"
      },
      {
        "label": "Valve · In-Game Item Trading Update ↗",
        "url": "https://store.steampowered.com/oldnews/22883"
      },
      {
        "label": "Ars · the cease-and-desist letters ↗",
        "url": "https://arstechnica.com/gaming/2016/07/valve-lawyers-send-cease-and-desist-letters-to-counter-strike-gambling-sites/"
      },
      {
        "label": "HLTV · named recipients ↗",
        "url": "https://www.hltv.org/news/18289/valve-cracks-down-on-skin-betting"
      },
      {
        "label": "CSGOFAST Cup 2 · event record ↗",
        "url": "https://www.hltv.org/events/3461/csgofast-cup-2"
      },
      {
        "label": "RushBee · Metality campaign ↗",
        "url": "https://rushbee.agency/projects/metality"
      },
      {
        "label": "BLAST · GG.BET partnership ↗",
        "url": "https://blast.tv/article/blast-partners-with-ggbet"
      },
      {
        "label": "HLTV · Empire Cup announcement ↗",
        "url": "https://www.hltv.org/news/38624/csgoempire-announces-50000-online-tournament"
      },
      {
        "label": "HLTV · withdrawals ↗",
        "url": "https://www.hltv.org/news/38657/participants-withdraw-from-csgoempire-cup-after-major-disruption"
      },
      {
        "label": "3DMAX · termination statement ↗",
        "url": "https://x.com/3DMAXGaming/status/1896266857415610873"
      },
      {
        "label": "Valve · tournament licence, §2.4(d)–(e) ↗",
        "url": "https://store.steampowered.com/tourney/limited_license"
      },
      {
        "label": "CSGORoll · published instructions ↗",
        "url": "https://www.csgoroll.com/blog/steam-p2p-solution/"
      },
      {
        "label": "steamcommunity.com/dev/apikey ↗",
        "url": "https://steamcommunity.com/dev/apikey"
      },
      {
        "label": "Valve · User Keys and Publisher Keys ↗",
        "url": "https://partner.steamgames.com/doc/webapi_overview/auth"
      },
      {
        "label": "JWT format · RFC 7519 ↗",
        "url": "https://www.rfc-editor.org/rfc/rfc7519.txt"
      },
      {
        "label": "User API-key management ↗",
        "url": "https://steamcommunity.com/dev/apikey"
      },
      {
        "label": "Maintainer’s access-token account ↗",
        "url": "https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/Access-Tokens"
      },
      {
        "label": "Library maintainer · Access Tokens ↗",
        "url": "https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/Access-Tokens"
      },
      {
        "label": "Valve · Steam OpenID provider ↗",
        "url": "https://steamcommunity.com/dev"
      },
      {
        "label": "Continue in Part II: which credential crosses the boundary? →",
        "url": "https://phishdestroy.io/steam_dossier/investigation_part2#api-distinction"
      },
      {
        "label": "Open the checked Steam route ↗",
        "url": "https://steamcommunity.com/linkfilter/?url=csgoroll.com"
      },
      {
        "label": "Read the captured response text ↓",
        "url": "https://phishdestroy.io/steam_dossier/sponsorship_assets/linkfilter-response.txt"
      },
      {
        "label": "New York v. Valve · complaint, §§95–99 ↗",
        "url": "https://ag.ny.gov/sites/default/files/court-filings/new-york-v-valve-corporation-complaint-2026.pdf"
      },
      {
        "label": "Valve · ExpressTrade ↗",
        "url": "https://blog.counter-strike.net/expresstrade/"
      },
      {
        "label": "G2 / CSGORoll announcement ↗",
        "url": "https://www.csgoroll.com/blog/csgoroll-g2-collaboration/"
      },
      {
        "label": "Sharpr: G2 skin gambling deal ↗",
        "url": "https://sharpr.substack.com/p/g2-esports-takes-risk-on-skin-gambling"
      },
      {
        "label": "ACMA formal warning to Feral Holdings ↗",
        "url": "https://www.acma.gov.au/sites/default/files/2023-05/ED2313~1.PDF"
      },
      {
        "label": "ACMA: CSGORoll warning ↗",
        "url": "https://www.acma.gov.au/articles/2023-05/acma-takes-action-against-illegal-skins-gambling-site"
      },
      {
        "label": "Valve: In-Game Item Trading Update ↗",
        "url": "https://store.steampowered.com/oldnews/22883"
      },
      {
        "label": "Ars: July letters confirmed by Valve ↗",
        "url": "https://arstechnica.com/gaming/2016/07/valve-lawyers-send-cease-and-desist-letters-to-counter-strike-gambling-sites/"
      },
      {
        "label": "Valve letters / CSGOFAST named ↗",
        "url": "https://www.hltv.org/news/18289/valve-cracks-down-on-skin-betting"
      },
      {
        "label": "CSGOFAST Cup 2 ↗",
        "url": "https://www.hltv.org/events/3461/csgofast-cup-2"
      },
      {
        "label": "RushBee Metality campaign ↗",
        "url": "https://rushbee.agency/projects/metality"
      },
      {
        "label": "BLAST Premier / GG.BET ↗",
        "url": "https://blast.tv/article/blast-partners-with-ggbet"
      },
      {
        "label": "CSGOEmpire Cup announcement ↗",
        "url": "https://www.hltv.org/news/38624/csgoempire-announces-50000-online-tournament"
      },
      {
        "label": "Withdrawals after Copenhagen disruption ↗",
        "url": "https://www.hltv.org/news/38657/participants-withdraw-from-csgoempire-cup-after-major-disruption"
      },
      {
        "label": "3DMAX termination statement ↗",
        "url": "https://x.com/3DMAXGaming/status/1896266857415610873"
      },
      {
        "label": "Valve Limited Game Tournament License ↗",
        "url": "https://store.steampowered.com/tourney/limited_license"
      },
      {
        "label": "CSGORoll WebAPI P2P Solution ↗",
        "url": "https://www.csgoroll.com/blog/steam-p2p-solution/"
      },
      {
        "label": "JWT standard ↗",
        "url": "https://www.rfc-editor.org/rfc/rfc7519.txt"
      },
      {
        "label": "Steam Community · OpenID provider ↗",
        "url": "https://steamcommunity.com/dev"
      },
      {
        "label": "Access Tokens: tradeoffer-manager ↗",
        "url": "https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/Access-Tokens"
      },
      {
        "label": "Steam Community · personal API-key management ↗",
        "url": "https://steamcommunity.com/dev/apikey"
      },
      {
        "label": "Steam Web API · User Keys and Publisher Keys ↗",
        "url": "https://partner.steamgames.com/doc/webapi_overview/auth"
      },
      {
        "label": "NY OAG v Valve complaint ↗",
        "url": "https://ag.ny.gov/sites/default/files/court-filings/new-york-v-valve-corporation-complaint-2026.pdf"
      },
      {
        "label": "Valve OPSkins / ExpressTrade action ↗",
        "url": "https://blog.counter-strike.net/expresstrade/"
      },
      {
        "label": "Steam Link Filter: csgoroll.com ↗",
        "url": "https://steamcommunity.com/linkfilter/?url=csgoroll.com"
      },
      {
        "label": "Find this material in the author map →",
        "url": "https://phishdestroy.io/steam_dossier/fragment_map#material-major-sponsorships"
      },
      {
        "label": "Article PDF ↓",
        "url": "https://phishdestroy.io/steam_dossier/exports/agent-protocol/files/en/steam_dossier_major_sponsorships_agent_rowan.pdf"
      },
      {
        "label": "Article JSON ↓",
        "url": "https://phishdestroy.io/steam_dossier/exports/agent-protocol/files/en/steam_dossier_major_sponsorships_agent_rowan.json"
      },
      {
        "label": "PGP signature ↓",
        "url": "https://phishdestroy.io/steam_dossier/exports/agent-protocol/files/en/steam_dossier_major_sponsorships_agent_rowan.json.asc"
      },
      {
        "label": "Source register ↓",
        "url": "https://phishdestroy.io/steam_dossier/sponsorship_assets/sources.json"
      }
    ],
    "tables": [
      {
        "id": "table-1",
        "caption": "",
        "rows": [
          [
            "Relationship",
            "Documented surface",
            "Record"
          ],
          [
            "CSGORoll → G2",
            "Team jerseys; announced Paris Major booth activation",
            "2 May 2023"
          ],
          [
            "GG.BET → RushBee / Vitality campaign",
            "Game packs, branded tour bus, meet-and-greets",
            "Agency case study"
          ],
          [
            "GG.BET → BLAST Premier",
            "Odds in the broadcast, predictions, content and branding",
            "22 Jan 2024"
          ],
          [
            "CSGOEmpire → Empire Cup",
            "Announced $50,000 online tournament",
            "26 Mar 2024"
          ]
        ]
      }
    ],
    "cited_source_ids": []
  },
  "resources": [
    {
      "url": "https://phishdestroy.io/steam_dossier/sponsorship_assets/linkfilter-response.txt",
      "sha256": "7148f402a9356b519708c358d5c28ad0f17cd0b986cc99d10d2ce42607519369",
      "bytes": 1509
    },
    {
      "url": "https://phishdestroy.io/steam_dossier/exports/agent-protocol/files/en/steam_dossier_major_sponsorships_agent_rowan.pdf",
      "sha256": "cf61f389de248b0486cd8a7b45d51db99675e732f59a8222ff7999c68af6e36b",
      "bytes": 877871
    },
    {
      "url": "https://phishdestroy.io/steam_dossier/exports/agent-protocol/files/en/steam_dossier_major_sponsorships_agent_rowan.json",
      "sha256": "41362d7c6b5b2b04af8ff21d33154b73387dd288f50f726cd69f85758d4991af",
      "bytes": 49449
    },
    {
      "url": "https://phishdestroy.io/steam_dossier/sponsorship_assets/sources.json",
      "sha256": "6b3016f1afcd09df9b717560f6a1003fdafdf8539ab2633a154e0594c4623861",
      "bytes": 8992
    }
  ]
}
