# LinQ (Galactica Games, Inc. dba Toffee) > LinQ is a wallet, payments and loyalty platform for game developers building > loyalty programs, real-money gaming (RMG) and branded debit-card experiences. > Games create a LinQ wallet account for each player, then deposit, withdraw, > transfer and reconcile funds against internal game currencies. The public API > is gRPC / Protocol Buffers, published on the Buf Schema Registry. Generated by the API Evangelist enrichment pipeline on 2026-07-19 from apis.yml and the artifacts in this repository. LinQ does not publish an /llms.txt of its own (probed: 404 on linq.gg, docs.linq.gg, galactica.games, services.galactica.games). ## Key facts - Interface: gRPC with Protocol Buffers (proto3). No REST, OpenAPI, GraphQL or AsyncAPI. - Contract: https://buf.build/linq/linq (public Buf Schema Registry module, MIT) - Production host: services.galactica.games - Stage host: services.stage.galactica.games - Auth: opaque bearer tokens in gRPC `authorization` metadata. No OAuth, no scopes. - Money: all amounts are integers in coins — divide by 100 before display. - Idempotency: `idempotency_key` is a request-message field, not a header. - Errors: native gRPC statuses. Business outcomes ride in-band on success responses. - Events: none. Order completion is discovered by polling GetOrderStatus. ## Documentation - Introduction: https://docs.linq.gg/ - Getting Started: https://docs.linq.gg/getting-started - Authentication: https://docs.linq.gg/modules/auth - Types of tokens: https://docs.linq.gg/modules/auth/tokens - Storing tokens in Keychain: https://docs.linq.gg/modules/auth/keychain - Money Operations: https://docs.linq.gg/modules/money - Location Checks: https://docs.linq.gg/modules/location-checks - Support: https://docs.linq.gg/contact ## API contract - Buf module: https://buf.build/linq/linq - Generated SDKs: https://buf.build/linq/linq/sdks - Buf Studio: https://buf.build/studio Modules: Geo (location checks), Auth (sign-in and account linking), Money (accounts, orders, payments), Sandbox (test helpers, stage only). Services and methods: - linq.auth.game.v1.AuthGameService: SignInGame - linq.auth.user.v1.AuthUserService: SignUpGameUser, SignInGameUser, SaveGameUser - linq.geo.operations.v1.LocationService: IsOperationAllowed - linq.geo.restrictions.v2.RestrictionsService: IsAccessAllowed - linq.geo.restrictions.v1.RestrictionsService: isAccessAllowed (DEPRECATED) - linq.geo.restrictions.v1.ConfigurationService: getAvoidedRegions (DEPRECATED) - linq.money.accounts.v1.AccountsService: GetAllAccounts, GetActualBalance, PutMoney, GetMoney - linq.money.accounts.v2.AccountsService: GetActualBalances, ApplyCustomReward - linq.money.operations.v1.OperationsService: GetOrdersHistory - linq.money.payments.v1.PaymentsService: NewReplenishOrder, NewTransferOrder, GetOrderStatus, GetPaymentProfile, IsLimitReached, CreatePixOrder - linq.money.payments.v1.NativePaymentsService: GetApplePayConfig, GetCardPaymentConfig, GetSavedCardPaymentConfig, MakePayment, GetPaymentSources - linq.sandbox.helpers.v1.HelpersService: VerifyPlayerToken, UpdateOrder (stage only) ## SDKs - Unity SDK (first-party, MIT): https://github.com/linqgg/unity-sdk - Generated TypeScript / JavaScript clients from the Buf registry: @buf/linq_linq.bufbuild_es, @buf/linq_linq.connectrpc_es, @buf/linq_linq.community_timostamm-protobuf-ts, @buf/linq_linq.grpc_web (registry https://buf.build/gen/npm/v1) ## Order status machine pending -> awaiting -> processing -> accepted -> completed Terminal failure states: declined, cancelled, terminated. Order types: charge, entry_fee, prize, transfer. ## Constraints an agent must respect - Eleven operations move real money. Always supply a stable idempotency_key on PutMoney, GetMoney and NewTransferOrder so a retry cannot double-spend. - Check IsAccessAllowed (by IP) and IsOperationAllowed (by coordinates) before initiating any funds movement — access is gated by jurisdiction and sanctions. - Anonymous profiles cannot transfer to the wallet or other games and are capped at a total deposit amount of 20.00. Use IsLimitReached to check headroom. - Never route raw card data through a game backend; tokenization happens on device via the Unity SDK. Doing otherwise breaks the PCI DSS posture LinQ documents. - Balances for games other than the calling game are never returned. ## Repository artifacts - grpc/linqgg-services.yml — service and method index - grpc/linq/, grpc/shared/ — verbatim .proto files from the Buf registry - authentication/linqgg-authentication.yml — token model - conventions/linqgg-conventions.yml — idempotency, pagination, money units, versioning - errors/linqgg-error-codes.yml — status machine and SDK exception taxonomy - data-model/linqgg-data-model.yml — entity graph - sandbox/linqgg-sandbox.yml — stage environment, test cards, sandbox helpers - lifecycle/linqgg-lifecycle.yml — versioning and deprecation posture - changelog/linqgg-changelog.yml — Unity SDK releases and registry commits - conformance/linqgg-conformance.yml — standards asserted with evidence - components/linqgg-components.yml — hosted checkout and native payment surfaces - packages/linqgg-packages.yml — SDKs and generated clients - mcp/linqgg-mcp.yml — candidate MCP tool map (not deployed by LinQ) - skills/ — packaged Agent Skills for the marquee flows ## Company - Site: https://linq.gg/ - Blog: https://linq.gg/blog - GitHub: https://github.com/linqgg - LinQ Wallet iOS app: https://apps.apple.com/us/app/linq-wallet/id6447305486 - Terms: https://linq.gg/terms-of-use - Privacy: https://linq.gg/privacy-policy - Support: support@galactica.games