{
  "snapshot_id": "2026-10-07",
  "currency": "USD",
  "platforms": [
    {
      "name": "Chaturbate",
      "packages": [
        {
          "tokens": 50,
          "price": 6.99,
          "display_text": "50 tokens\n$6.99",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 100,
          "price": 10.99,
          "display_text": "100 tokens\n$10.99",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 200,
          "price": 20.99,
          "display_text": "200 tokens\n$20.99\n5% Bonus",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 400,
          "price": 39.99,
          "display_text": "400 tokens\n$39.99\n10% Bonus",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 550,
          "price": 49.99,
          "display_text": "550 tokens\n$49.99\n21% Bonus",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 750,
          "price": 62.99,
          "display_text": "750 tokens\n$62.99\n31% Bonus",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 1000,
          "price": 79.99,
          "display_text": "1,000 tokens\n$79.99\n37% Bonus",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.611Z",
          "source_url": "https://chaturbate.com/female-cams/",
          "subscription": false,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        }
      ],
      "rooms": [
        {
          "rate": 90,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:15:24.124Z"
        },
        {
          "rate": 180,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:15:30.991Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:15:55.873Z"
        },
        {
          "rate": 120,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:01.127Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:06.279Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:44.115Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:48.868Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:53.608Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:58.135Z"
        },
        {
          "rate": 150,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:17:01.704Z"
        },
        {
          "rate": 240,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:10.320Z"
        },
        {
          "rate": 240,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:13.903Z"
        },
        {
          "rate": 240,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:17.825Z"
        },
        {
          "rate": 120,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:21.745Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:26.030Z"
        },
        {
          "rate": 180,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:25.386Z"
        },
        {
          "rate": 240,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:31.087Z"
        },
        {
          "rate": 90,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:35.442Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:40.396Z"
        },
        {
          "rate": 150,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:44.475Z"
        },
        {
          "rate": 360,
          "minimum": 8,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:21:04.464Z"
        },
        {
          "rate": 42,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:21:09.486Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:21:13.845Z"
        },
        {
          "rate": 120,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:21:18.043Z"
        },
        {
          "rate": 150,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:21:22.258Z"
        },
        {
          "rate": 60,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:22:55.110Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:22:59.874Z"
        },
        {
          "rate": 60,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:03.633Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:09.767Z"
        },
        {
          "rate": 120,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:14.757Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:16.823Z"
        },
        {
          "rate": 90,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:20.753Z"
        },
        {
          "rate": 6,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:24.935Z"
        },
        {
          "rate": 180,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:29.013Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:32.713Z"
        },
        {
          "rate": 150,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:13.507Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:18.444Z"
        },
        {
          "rate": 42,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:22.629Z"
        },
        {
          "rate": 150,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:26.848Z"
        },
        {
          "rate": 90,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:31.159Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:48.299Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:53.136Z"
        },
        {
          "rate": 90,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:57.368Z"
        },
        {
          "rate": 120,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:01.640Z"
        },
        {
          "rate": 150,
          "minimum": 20,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:05.815Z"
        },
        {
          "rate": 60,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:21.808Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:27.165Z"
        },
        {
          "rate": 240,
          "minimum": 15,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:31.341Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:38.044Z"
        },
        {
          "rate": 90,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:26:43.114Z"
        }
      ]
    },
    {
      "name": "Stripchat",
      "packages": [
        {
          "tokens": 45,
          "price": 4.99,
          "offer_label": null,
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": null,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 90,
          "price": 9.99,
          "offer_label": null,
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": null,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 200,
          "price": 20.99,
          "offer_label": null,
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": null,
          "offer_terms_verified": null,
          "repeatability": "unknown"
        },
        {
          "tokens": 540,
          "price": 49.99,
          "offer_label": "+ ULTIMATE OFFER",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": false,
          "offer_terms_verified": true,
          "repeatability": "unknown",
          "offer_scope": "Optional unchecked membership trial: 7 days free, then displayed $19.99/month; excluded from token-only calculations",
          "subscription_basis": "Optional membership checkbox left unchecked; token-only quote, not completed checkout"
        },
        {
          "tokens": 765,
          "price": 69.99,
          "offer_label": "+ ULTIMATE OFFER",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": false,
          "offer_terms_verified": true,
          "repeatability": "unknown",
          "offer_scope": "Optional unchecked membership trial: 7 days free, then displayed $19.99/month; excluded from token-only calculations",
          "subscription_basis": "Optional membership checkbox left unchecked; token-only quote, not completed checkout"
        },
        {
          "tokens": 1350,
          "price": 119.99,
          "offer_label": "+ ULTIMATE OFFER",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": false,
          "offer_terms_verified": true,
          "repeatability": "unknown",
          "offer_scope": "Optional unchecked membership trial: 7 days free, then displayed $19.99/month; excluded from token-only calculations",
          "subscription_basis": "Optional membership checkbox left unchecked; token-only quote, not completed checkout"
        },
        {
          "tokens": 2350,
          "price": 199.99,
          "offer_label": "+ ULTIMATE OFFER",
          "currency": "USD",
          "currency_basis": "User confirmation on October 5 for both platforms; current interface displays dollar symbol, ISO currency not independently verified at checkout.",
          "observed_at": "2026-10-07T21:28:58.623Z",
          "source_url": "https://stripchat.com/",
          "subscription": false,
          "offer_terms_verified": true,
          "repeatability": "unknown",
          "offer_scope": "Optional unchecked membership trial: 7 days free, then displayed $19.99/month; excluded from token-only calculations",
          "subscription_basis": "Optional membership checkbox left unchecked; token-only quote, not completed checkout"
        }
      ],
      "rooms": [
        {
          "rate": 24,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:15:24.127Z"
        },
        {
          "rate": 90,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:30.351Z"
        },
        {
          "rate": 24,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:16:23.127Z"
        },
        {
          "rate": 16,
          "minimum": 8,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:37.925Z"
        },
        {
          "rate": 90,
          "minimum": 6,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:45.259Z"
        },
        {
          "rate": 200,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:50.280Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:23:57.553Z"
        },
        {
          "rate": 60,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:45.694Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:24:54.004Z"
        },
        {
          "rate": 44,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:25:02.149Z"
        },
        {
          "rate": 150,
          "minimum": 7,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:41.183Z"
        },
        {
          "rate": 60,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:47.377Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:51.239Z"
        },
        {
          "rate": 60,
          "minimum": 5,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:18:57.465Z"
        },
        {
          "rate": 90,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:19:02.338Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:20:00.337Z"
        },
        {
          "rate": 44,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:20:14.022Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:20:24.087Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:20:38.370Z"
        },
        {
          "rate": null,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:20:44.796Z"
        },
        {
          "rate": 16,
          "minimum": 10,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:22:31.669Z"
        },
        {
          "rate": 8,
          "minimum": null,
          "source_url": "/methodology/index.html#anonymous-observations",
          "observed_at": "2026-10-07T21:22:37.289Z"
        }
      ]
    }
  ],
  "scenarios": [
    {
      "platform": "Chaturbate",
      "budget_usd": 20,
      "tokens": 100,
      "package_price_usd": 10.99,
      "package_observed_at": "2026-10-07T21:28:58.611Z",
      "rooms_meeting_minimum_token_arithmetic": 1,
      "minimum_known_rooms": 32,
      "private_usd_per_minute": {
        "median": 13.187999999999999
      }
    },
    {
      "platform": "Stripchat",
      "budget_usd": 20,
      "tokens": 90,
      "package_price_usd": 9.99,
      "package_observed_at": "2026-10-07T21:28:58.623Z",
      "rooms_meeting_minimum_token_arithmetic": 0,
      "minimum_known_rooms": 13,
      "private_usd_per_minute": {
        "median": 6.66
      }
    },
    {
      "platform": "Chaturbate",
      "budget_usd": 50,
      "tokens": 550,
      "package_price_usd": 49.99,
      "package_observed_at": "2026-10-07T21:28:58.611Z",
      "rooms_meeting_minimum_token_arithmetic": 6,
      "minimum_known_rooms": 32,
      "private_usd_per_minute": {
        "median": 10.90690909090909
      }
    },
    {
      "platform": "Stripchat",
      "budget_usd": 50,
      "tokens": 540,
      "package_price_usd": 49.99,
      "package_observed_at": "2026-10-07T21:28:58.623Z",
      "rooms_meeting_minimum_token_arithmetic": 10,
      "minimum_known_rooms": 13,
      "private_usd_per_minute": {
        "median": 5.554444444444445
      }
    },
    {
      "platform": "Chaturbate",
      "budget_usd": 100,
      "tokens": 1000,
      "package_price_usd": 79.99,
      "package_observed_at": "2026-10-07T21:28:58.611Z",
      "rooms_meeting_minimum_token_arithmetic": 13,
      "minimum_known_rooms": 32,
      "private_usd_per_minute": {
        "median": 9.598799999999999
      }
    },
    {
      "platform": "Stripchat",
      "budget_usd": 100,
      "tokens": 765,
      "package_price_usd": 69.99,
      "package_observed_at": "2026-10-07T21:28:58.623Z",
      "rooms_meeting_minimum_token_arithmetic": 10,
      "minimum_known_rooms": 13,
      "private_usd_per_minute": {
        "median": 5.489411764705882
      }
    }
  ]
}
