A Chrome extension that automates gamepass creation and management for Roblox games through official Roblox APIs.
- Google Chrome (version 88 or higher)
- Active Roblox account
- At least one published Roblox game
- Visit the Chrome Web Store listing
- Click "Add to Chrome"
- Navigate to any Roblox.com page to use
-
Clone the repository:
git clone https://github.com/gneza4/RobloxGamepassCreator.git cd "Gamepass Creator"
-
Load the extension in Chrome:
- Navigate to
chrome://extensions/ - Enable Developer mode (toggle in top-right)
- Click Load unpacked
- Select the cloned directory
- Navigate to
-
Verify installation:
- Extension icon should appear in Chrome toolbar
- Visit
roblox.comwhile logged in - Click extension icon to test
Gamepass Creator/
├── manifest.json # Extension manifest (v3)
├── popup/
│ ├── popup.html # Extension UI
│ ├── popup.css # Styles
│ └── popup.js # Main logic & API calls
├── content/
│ └── content.js # Content script for auth extraction
└── icons/
├── icon16.png # 16x16 toolbar icon
├── icon48.png # 48x48 extension management
└── icon128.png # 128x128 Chrome Web Store
Required permissions in manifest.json:
{
"permissions": [
"activeTab"
],
"host_permissions": [
"https://roblox.com/*",
"https://*.roblox.com/*"
]
}- activeTab: Access current tab to verify Roblox login state
- scripting: Inject content script to extract CSRF token
- host_permissions: Make API requests to official Roblox endpoints
// Fetch user's games
GET https://games.roblox.com/v2/users/{userId}/games?sortOrder=Asc&limit=50
// Get universe ID from place ID
GET https://apis.roblox.com/universes/v1/places/{placeId}/universe
// Create gamepass
POST https://apis.roblox.com/game-passes/v1/game-passes
Content-Type: multipart/form-data
Headers: x-csrf-token
// Update gamepass details (price, on-sale status)
POST https://apis.roblox.com/game-passes/v1/game-passes/{gamePassId}/details
Content-Type: multipart/form-data
Headers: x-csrf-token
// Fetch all gamepasses (paginated)
GET https://apis.roblox.com/game-passes/v1/universes/{universeId}/game-passes?&pageSize=100- User must be logged into Roblox.com
- Content script extracts:
- User ID from
window.Roblox.CurrentUser.userId - CSRF token from
<meta name="csrf-token">
- User ID from
- Popup receives credentials via message passing
- All API calls use credentials + cookies
- ES6+ JavaScript (async/await)
- No external dependencies
- Vanilla DOM manipulation
- CSS custom properties for theming
Edit COMMON_VALUES array in popup/popup.js:
const COMMON_VALUES = [
2, 5, 10, 15, 25, 50, 75, 100, 150, 200,
250, 350, 500, 750, 1000, 2500, 3500, 5000, 7500, 10000
];Adjust delays in API calls:
// Gamepass creation delay
await sleep(500); // 500ms between creates
// Gamepass removal delay
await sleep(300); // 300ms between removals- ✅ Uses existing Roblox session
- ✅ Operates only on user action
- ✅ All processing happens client-side
- ✅ Communicates only with official Roblox APIs
- ❌ Store credentials
- ❌ Send data to external servers
- ❌ Inject ads or tracking
- ❌ Access browsing history
- ❌ Modify pages outside Roblox.com