Validate Epic Games Store purchases server-side using the EOS Ecom Web API
domain: eos-ecom · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
On the game client, call EOS_Ecom_QueryOwnership or generate an ownership verification token via EOS_Ecom_CreateEntitlementToken and send the token to your backend
On your backend, validate the token by fetching Epic's public JWKS and verifying the token's signature; inspect the catalogItemId and accountId claims
For consumable entitlements, call EOS_Ecom_QueryEntitlements on the client or use the Ecom Web API entitlements endpoint to enumerate unredeeemed entitlements, then redeem them with EOS_Ecom_RedeemEntitlements
Store the entitlementId after redemption to prevent double-granting; redemption is idempotent for the same entitlementId
Use ownership checks (EOS_Ecom_QueryOwnership) for durable DLC access and entitlement checks for consumables — they walk different parts of the catalog hierarchy
Known gotchas
Ownership checks walk the full catalog tree (e.g. Deluxe Edition includes Season Pass includes DLC1), so EOS_Ecom_QueryOwnership returns true for DLC1 even if the player bought the Deluxe Edition; entitlement checks do not traverse this hierarchy
Tokens are short-lived JWTs; validate promptly and do not cache tokens as long-term proof of ownership
EOS distinguishes between EAS (Epic Account Services) and EOS Connect identities; ensure you are querying the correct account type for entitlement verification
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?