═══════════════════════════════════════════════════════════════════════════════ ARCADIA GAME SDK - DEVELOPER DOCUMENTATION ═══════════════════════════════════════════════════════════════════════════════ Document: Installation Generated: 2/13/2026, 7:47:51 PM Version: 1.0.0 ═══════════════════════════════════════════════════════════════════════════════ Installation Guide ══════════════════════════════════════════════════════════════════════ This guide covers all installation methods and setup options for the Arcadia Game SDK. Installation Methods ════════════════════════════════════════════════════════════ The SDK can be installed via NPM (recommended) or loaded via CDN. Choose the method that best fits your project. NPM Installation ════════════════════════════════════════════════════════════ Install the Package ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ npm install @arcadiasol/sdk ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Or with yarn: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ yarn add @arcadiasol/sdk ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Or with pnpm: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ pnpm add @arcadiasol/sdk ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Import in Your Code ══════════════════════════════════════════════════ ES Modules (Recommended) ────────────────────────────────────────────────── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [TYPESCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ import { ArcadiaSDK } from '@arcadiasol/sdk'; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CommonJS ────────────────────────────────────────────────── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ const { ArcadiaSDK } = require('@arcadiasol/sdk'); ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TypeScript Support ══════════════════════════════════════════════════ TypeScript definitions are included automatically. No additional installation needed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [TYPESCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ import { ArcadiaSDK, SDKConfig, PaymentResult } from '@arcadiasol/sdk'; const config: SDKConfig = { gameId: 'my-game', }; const arcadia = new ArcadiaSDK(config); ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CDN Installation ════════════════════════════════════════════════════════════ Development (Unminified) ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [HTML] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Production (Minified) ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [HTML] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Using the SDK (CDN) ══════════════════════════════════════════════════ When using CDN, the SDK is available as a global variable: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [HTML] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Note: The UMD bundle may expose the SDK in different ways depending on your environment. Check what's available: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // Check available SDK exports console.log(window.ArcadiaGameSDK); // Common patterns: const SDKClass = window.ArcadiaGameSDK?.default || window.ArcadiaGameSDK?.ArcadiaSDK || window.ArcadiaGameSDK; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Build Configuration ════════════════════════════════════════════════════════════ Webpack ══════════════════════════════════════════════════ No special configuration needed. The SDK is already bundled. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // webpack.config.js module.exports = { // ... your config resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx'], }, }; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Vite ══════════════════════════════════════════════════ No special configuration needed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // vite.config.js export default { // ... your config }; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Rollup ══════════════════════════════════════════════════ No special configuration needed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // rollup.config.js export default { // ... your config }; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Parcel ══════════════════════════════════════════════════ No special configuration needed. Parcel handles everything automatically. Package Entry Points ════════════════════════════════════════════════════════════ The SDK provides multiple entry points: • ESM: [dist/esm/index.js] - ES Module format • UMD: [dist/umd/arcadia-game-sdk.js] - Universal Module Definition • Types: [dist/esm/index.d.ts] - TypeScript definitions Using Specific Entry Points ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [TYPESCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // ESM (if you need to import from specific path) import { ArcadiaSDK } from '@arcadiasol/sdk/dist/esm/index.js'; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Version Pinning ════════════════════════════════════════════════════════════ Latest Version ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ npm install @arcadiasol/sdk@latest ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Specific Version ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ npm install @arcadiasol/sdk@1.0.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Version Range ══════════════════════════════════════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JSON] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ { "dependencies": { "@arcadiasol/sdk": "^1.1.0" } } ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Browser Compatibility ════════════════════════════════════════════════════════════ The SDK works in all modern browsers: • Chrome 90+ • Firefox 88+ • Safari 14+ • Edge 90+ Polyfills ══════════════════════════════════════════════════ The SDK requires: • ES2020 support • postMessage API • Promise support Most modern browsers include these by default. For older browsers, you may need polyfills: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [BASH] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ npm install core-js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [JAVASCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ import 'core-js/stable'; import 'core-js/features/promise'; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bundle Size ════════════════════════════════════════════════════════════ • UMD (minified): ~15KB gzipped • ESM: ~12KB gzipped • Zero dependencies - No additional packages required Verification ════════════════════════════════════════════════════════════ After installation, verify the SDK is working: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CODE BLOCK [TYPESCRIPT] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ import { ArcadiaSDK } from '@arcadiasol/sdk'; // Check SDK is available console.log(ArcadiaSDK); // Should log the class // Create instance const arcadia = new ArcadiaSDK({ gameId: 'your-game-id', }); console.log('SDK initialized:', arcadia.isInitialized()); // false (not yet initialized) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Troubleshooting ════════════════════════════════════════════════════════════ Module Not Found ══════════════════════════════════════════════════ If you get "Module not found" errors: 1. Verify the package is installed: [npm list @arcadiasol/sdk] 2. Check your import path is correct 3. Restart your development server 4. Clear node_modules and reinstall: [rm -rf node_modules && npm install] TypeScript Errors ══════════════════════════════════════════════════ If TypeScript can't find types: 1. Ensure [@arcadiasol/sdk] is in your [package.json] 2. Check [tsconfig.json] includes [node_modules] in type roots 3. Restart your TypeScript server CDN Not Loading ══════════════════════════════════════════════════ If CDN script doesn't load: 1. Check your internet connection 2. Verify the URL is correct 3. Check browser console for CORS errors 4. Try a different CDN or use NPM instead Build Errors ══════════════════════════════════════════════════ If you encounter build errors: 1. Ensure your bundler supports ES2020 2. Check for conflicting dependencies 3. Verify your Node.js version (requires Node 20+) Next Steps ════════════════════════════════════════════════════════════ Once installation is complete: 1. See Getting Started for basic setup 2. Review Wallet Integration for wallet features 3. Check Payments for payment implementation ═══════════════════════════════════════════════════════════════════════════════ For the latest documentation, visit: https://arcadia.obeliskprotocol.io/developer For support, email: support@arcadia.com ═══════════════════════════════════════════════════════════════════════════════