Standalone Godot 4.3 GDExtension Android plugin for the Solana Mobile Wallet Adapter (MWA) 2.0 protocol. API parity with the official React Native SDK.
- Full MWA 2.0 API: authorize, sign transactions, sign messages, capabilities
- Native Android wallet connection (Phantom, Solflare, Backpack)
- Encrypted auth token cache (Android Keystore-backed)
- Silent reconnection via cached tokens
- Signal-based async API
| MWA Method | GDScript |
|---|---|
| authorize | authorize(token_handle) |
| deauthorize | deauthorize(token_handle) |
| get_capabilities | get_capabilities() |
| sign_and_send_transactions | sign_and_send_transactions(payloads) |
| sign_messages | sign_messages(addresses, payloads) |
| sign_transactions | sign_transactions(payloads) |
var mwa = MobileWalletAdapter.new()
mwa.identity_name = "My Game"
mwa.chain = "solana:devnet"
mwa.session_ready.connect(func(): mwa.authorize())
mwa.authorized.connect(func(accts, handle, uri): print("Connected: ", accts))
mwa.error.connect(func(code, msg): print("Error: ", code, " ", msg))
mwa.transact()- Godot 4.3+
- Android SDK (compileSdk 34, NDK 23.2.8568313)
- JDK 17
- SCons (
pip install scons)
git clone --recursive https://github.com/user/godot-mwa-sdk.git
cd godot-mwa-sdkexport ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/23.2.8568313
cd godot-cpp && scons platform=android target=template_debug arch=arm64 -j$(nproc) && cd ..
scons platform=android arch=arm64 target=template_debug -j$(nproc)cd android && ./gradlew assembleDebug && cd ..Copy addons/SolanaMWA/ into your Godot project's addons/ folder. Enable the plugin in Project Settings > Plugins.
Your game's AndroidManifest.xml must allow loopback cleartext for MWA's WebSocket:
<application android:networkSecurityConfig="@xml/network_security_config">The template config is included in the AAR at res/xml/network_security_config.xml.
| Platform | Status |
|---|---|
| Android arm64 | Full MWA 2.0 support |
| iOS | Not supported (OS restriction) |
| Desktop/Web | Stubs return error signals |
- Godot 4.3+
- Android minSdk 24, targetSdk 34
- MWA-compatible wallet (Phantom, Solflare, Backpack)
- Installation
- Quick Start
- API Reference
- Auth Caching
- Architecture
- React Native Parity
- Troubleshooting
MIT -- see LICENSE
- mobile-wallet-adapter-clientlib-ktx 2.0.8
- godot-cpp 4.3-stable
- androidx.security:security-crypto 1.1.0