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 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp