Platform · Wallet API
Player wallets in milliseconds
Provision a fiat or virtual currency wallet per player, per game, or shared across your studio. Isolated ledgers, no cross-studio leakage, full audit trail.
const w = await linq.wallets.create({
player_id: "usr_7Xk9mN",
currency: "USD",
game_id: "gm_ember_01",
});
// → { wallet_id: "wlt_2Bx7cR",
// balance: 0, status: "active" }
Wallet API capabilities
Multi-currency
Each wallet supports USD, EUR, and up to 4 custom virtual currency denominations per game. Currency is held isolated — no commingling.
Double-entry ledger
Every debit and credit is written to an immutable ledger. Reconcile your game economy audit-trail in real time via the reporting API.
Instant holds
Reserve funds for in-progress transactions with non-blocking hold operations. Capture or void without re-querying the player account.
Studio hierarchy
Create player wallets nested under your studio account. Wallet capacity scales linearly — no per-wallet provisioning fees on Starter.
Real-time webhooks
Receive wallet.credited, wallet.debited, and wallet.held events on any transaction.
Cross-game bridge
Opt wallets into the Cross-Game Currency module with a single flag. Players see a unified balance across your studio's titles.
Key endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/wallets | Create a new player wallet |
| GET | /v1/wallets/:id | Retrieve wallet + current balance |
| POST | /v1/wallets/:id/credit | Credit wallet (purchase, reward) |
| POST | /v1/wallets/:id/debit | Debit wallet (spend, payout initiation) |
| POST | /v1/wallets/:id/hold | Place a hold on wallet funds |
| GET | /v1/wallets/:id/transactions | Paginated transaction history |