═══════════════════════════════════════════════════════════════════════════════
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
═══════════════════════════════════════════════════════════════════════════════