generated: '2026-08-26' method: derived source: openapi/ (all eleven harvested EVEDEX specs) note: Entity graph computed from components.schemas $ref links and Id reference fields across all eleven EVEDEX specs. EVEDEX declares no shared component library between services — each service carries its own components.schemas block and there is no cross-service $ref anywhere, so the graph below is eleven disconnected sub-graphs joined only by naming convention (a userExchangeId in the Game service and a userExchangeId in the Exchange service refer to the same person, but nothing in the contract says so). No id-prefix scheme is published for any resource. summary: services: 11 entities: 437 relationships: 133 cross_service_refs: 0 shared_component_library: false domains: - service: exchange role: 'Trading core: markets, instruments, orders, positions, transfers, TP/SL, cashback.' schemas: 87 - service: auth role: 'Identity: SIWE sign-up, sessions, JWTs, API keys, ACL, OAuth links, tariffs, sub-accounts.' schemas: 76 - service: game role: 'Gamification: levels, skills, badges, challenges, competitions, leaderboards, collectables.' schemas: 109 - service: referral role: 'Affiliate/partner program: links, referrals, rewards, statistics.' schemas: 81 - service: academy role: 'Education: courses, lessons, tags, files, progress.' schemas: 47 - service: notifications role: 'Messaging: notifications, messages, mobile app registration, Telegram.' schemas: 37 - service: billing role: Subscriptions, bills and refunds (Prime). schemas: 16 - service: market-data role: Public historical candlesticks, no authentication. schemas: 12 - service: bridge-middleware role: Cross-chain transfer bridging and refunds. schemas: 10 - service: ai-strategies role: AI trading strategy surface. schemas: 4 - service: backoffice role: EVEDEX operator tooling (withdraw block/reject). Spec is public; its declared server is the private host backoffice-api.private.evedex.com. schemas: 31 largest_entities: - name: InstrumentMetricsObject service: exchange fields: 41 - name: User service: auth fields: 32 - name: InstrumentObject service: exchange fields: 32 - name: CourseObject service: academy fields: 26 - name: UserSessionHistoryFullObject service: auth fields: 25 - name: User service: exchange fields: 21 - name: UserUpdateResponse service: exchange fields: 20 - name: UserMe service: game fields: 18 - name: UserQuest service: game fields: 18 - name: BlockedPfWithdraw service: backoffice fields: 17 - name: User service: backoffice fields: 17 - name: UserWithBalance service: referral fields: 17 - name: SignUpBody service: auth fields: 16 - name: BillObject service: billing fields: 16 - name: UserStatisticsResponse service: exchange fields: 16 - name: TemplateBasedCompetitionUpdateResponse service: game fields: 16 - name: TemplateBasedCompetitionLaunchResponse service: game fields: 16 - name: ShareContentTexts service: referral fields: 15 - name: WalletTransferObject service: auth fields: 14 - name: User service: referral fields: 14 - name: CourseUpdateBody service: academy fields: 13 - name: ProductObject service: auth fields: 13 - name: TemplateGetDetailsResponse service: backoffice fields: 13 - name: TemplateCreateResponse service: backoffice fields: 13 - name: ProductObject service: billing fields: 13 - name: UserObject service: exchange fields: 13 - name: CompetitionTemplateUpdateResponse service: game fields: 13 - name: CompetitionTemplateGetResponse service: game fields: 13 - name: CompetitionTemplateCreateResponse service: game fields: 13 - name: TemplateObject service: notifications fields: 13 - name: MessageObjectWeb service: notifications fields: 13 - name: MessageObject service: notifications fields: 13 - name: CourseCreateBody service: academy fields: 12 - name: StatisticsResponse service: referral fields: 12 - name: LessonObject service: academy fields: 11 relationships: - from: LessonUpdateBody to: LessonProgressCoreType type: has_one via: progressStatus service: academy - from: LessonObject to: LessonProgressObject type: has_one via: progress service: academy - from: LessonProgressObject to: LessonProgressType type: has_one via: status service: academy - from: HomeworkListResponse to: HomeworkObject type: has_many via: list service: academy - from: HomeworkCreateBody to: HomeworkAnswerBody type: has_many via: answers service: academy - from: CourseList to: CourseObject type: has_many via: list service: academy - from: CourseCreateBody to: List of learnings as markdown type: has_one via: learn service: academy - from: CommentListResponse to: CommentObject type: has_many via: list service: academy - from: UserMediaListResponse to: UserMedia type: has_many via: list service: auth - from: UserMedia to: TelegramProfile type: has_one via: telegramProfile service: auth - from: SignUpBody to: User type: belongs_to via: userId service: auth - from: Auth to: User type: has_one via: user service: auth - from: Auth to: JWT type: has_one via: token service: auth - from: SignInByBody to: User type: belongs_to via: userId service: auth - from: WalletTransferWithFeesObject to: WalletTransferObject type: has_many via: fees service: auth - from: WalletTransferObject to: Auth type: belongs_to via: authId service: auth - from: TariffList to: TariffObject type: has_many via: list service: auth - from: SubAccountListResponse to: SubAccount type: has_many via: list service: auth - from: SubAccount to: SmartAccountEntry type: has_one via: smartAccount service: auth - from: UserSessionsActivityListResponse to: UserSessionActivity type: has_many via: list service: auth - from: UserSessionHistoryListResponse to: UserSessionHistory type: has_many via: list service: auth - from: FingerprintVerifyBody to: Auth type: belongs_to via: authId service: auth - from: BillListResponse to: BillObject type: has_many via: list service: auth - from: ApiKeyList to: ApiKeyObject type: has_many via: list service: auth - from: ListNotificationsResponse to: Notification type: has_many via: list service: backoffice - from: TemplateList to: TemplateListItem type: has_many via: list service: backoffice - from: JournalList to: JournalObject type: has_many via: list service: backoffice - from: BlockedPfWithdrawListObject to: BlockedPfWithdraw type: has_many via: list service: backoffice - from: User to: TariffObject type: has_one via: tariff service: backoffice - from: SubscriptionListResponse to: SubscriptionObject type: has_many via: list service: billing - from: SubscriptionObject to: ProductObject type: has_one via: productInfo service: billing - from: QuickNodeStreamEventListBody to: QuickNodeStreamEvent type: has_many via: events service: bridge-middleware - from: UpdateUserBody to: UserSocial type: has_many via: social service: exchange - from: UserUpdateResponse to: UserSocial type: has_many via: social service: exchange - from: User to: UserSocial type: has_many via: social service: exchange - from: UserList to: UserObject type: has_many via: list service: exchange - from: DelegateList to: DelegateObject type: has_many via: list service: exchange - from: TransferListObject to: TransferWitHFeeObject type: has_many via: list service: exchange - from: TransferWitHFeeObject to: TransferObject type: has_many via: fees service: exchange - from: PositionHistoryObject to: Side type: has_one via: side service: exchange - from: PositionHistoryFillList to: PositionHistoryFillObject type: has_many via: list service: exchange - from: TradeObject to: OrderIdOutput type: has_one via: orderId service: exchange - from: TradeObject to: Side type: has_one via: side service: exchange - from: RecentTradeObject to: Side type: has_one via: side service: exchange - from: AvailableBalancePosition to: Side type: has_one via: side service: exchange - from: AvailableBalancePosition to: BigNumber type: has_one via: volume service: exchange - from: AvailableBalancePosition to: BigNumber type: has_one via: initialMargin service: exchange - from: AvailableBalanceOpenOrder to: Side type: has_one via: side service: exchange - from: AvailableBalanceOpenOrder to: BigNumber type: has_one via: unFilledVolume service: exchange - from: AvailableBalanceOpenOrder to: BigNumber type: has_one via: unFilledInitialMargin service: exchange - from: ArticleList to: ArticleShort type: has_many via: list service: exchange - from: UserMe to: Buff type: has_many via: buffs service: game - from: UserMe to: PointsSummary type: has_one via: points service: game - from: UserMe to: UserLeague type: has_one via: userLeague service: game - from: PointsSummary to: League type: belongs_to via: leagueId service: game - from: UserLeague to: League type: has_one via: league service: game - from: UserLeague to: League type: has_one via: nextLeague service: game - from: ManualXpAwardResponse to: User type: belongs_to via: userId service: game - from: ManualAwardBatchBody to: ManualAward type: has_many via: batch service: game - from: ManualAwardListResponse to: ManualAwardResponse type: has_many via: inserted service: game - from: ManualAwardListResponse to: ManualAwardResponse type: has_many via: updated service: game - from: ManualAwardListResponse to: ManualAwardResponse type: has_many via: ignored service: game - from: FeeRates to: FeeRateRow type: has_many via: rows service: game - from: UserSkillTree to: UserArtifact type: has_many via: artifacts service: game - from: UserArtifact to: ArtifactBonus type: has_one via: bonus service: game - from: PublicSkill to: PublicArtifact type: has_many via: artifacts service: game - from: PublicArtifact to: ArtifactBonus type: has_one via: bonus service: game - from: UserRewardListObject to: UserRewardItem type: has_many via: list service: game - from: RewardHistoryResponse to: RewardHistoryItem type: has_many via: list service: game - from: AwardLuckyShotTicketsResponse to: LuckyShotTickets type: has_one via: tickets service: game - from: ManualChallengeClaimResponse to: User type: belongs_to via: userId service: game - from: UserObject to: UserNotificationConfig type: has_one via: notificationConfig service: notifications - from: TemplateList to: TemplateListItem type: has_many via: list service: notifications - from: ListNotificationsResponse to: Notification type: has_many via: list service: notifications - from: MessageListWeb to: MessageObjectWeb type: has_many via: list service: notifications - from: MessageObjectWeb to: WebContentObject type: has_one via: content service: notifications - from: CreateMessageBody to: MessageContentBody type: has_one via: content service: notifications - from: UpdateUserBody to: UserSocial type: has_many via: social service: referral - from: User to: UserSocial type: has_many via: social service: referral - from: UserWithBalanceList to: UserWithBalance type: has_many via: list service: referral - from: UserWithBalance to: UserSocial type: has_many via: social service: referral - from: UserWithBalance to: RewardBalance type: has_many via: balance service: referral - from: UserWithBalance to: Link type: has_many via: links service: referral - from: CreateUser to: UserSocial type: has_many via: social service: referral - from: CreateUser to: UpdateUserWeightBody type: has_many via: weight service: referral - from: CreateUser to: CreateLink type: has_many via: link service: referral - from: UserDataResponse to: User type: has_one via: user service: referral - from: UserDataResponse to: Link type: has_many via: links service: referral - from: TransactionListResponse to: Transaction type: has_many via: list service: referral - from: RewardList to: Reward type: has_many via: list service: referral - from: Reward to: RewardEvent type: has_one via: event service: referral - from: EventList to: Event type: has_many via: list service: referral - from: Event to: Link type: has_one via: link service: referral - from: ContactResponse to: UserSocial type: has_many via: social service: referral - from: UserWithTagsList to: UserWithTags type: has_many via: list service: referral - from: UserWithTags to: Tag type: has_many via: tags service: referral - from: TagList to: Tag type: has_many via: list service: referral - from: AssignTagsResponse to: Tag type: has_many via: tags service: referral - from: UpdateShareContentBody to: ShareContentTexts type: has_one via: content service: referral - from: UpdateShareContentBody to: ShareContentImages type: has_one via: images service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: en-US service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: ru-RU service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: es-ES service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: fr-FR service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: de-DE service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: it-IT service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: pt-BR service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: ja-JP service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: ko-KR service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: zh-CN service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: zh-TW service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: ar-SA service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: pt-PT service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: tr-TR service: referral - from: ShareContentTexts to: ShareContentText type: has_one via: uk-UA service: referral - from: ShareContentResponse to: ShareContentTexts type: has_one via: content service: referral - from: ShareContentResponse to: ShareContentImages type: has_one via: images service: referral - from: ShareContentList to: ShareContent type: has_many via: list service: referral - from: ShareContent to: ShareContentTexts type: has_one via: content service: referral - from: ShareContent to: ShareContentImages type: has_one via: images service: referral - from: CreateShareContentBody to: ShareContentTexts type: has_one via: content service: referral - from: CreateShareContentBody to: ShareContentImages type: has_one via: images service: referral - from: RegRequest to: UserSocial type: has_many via: social service: referral - from: RegRequestList to: RegRequest type: has_many via: list service: referral - from: CreateRegRequestBody to: UserSocial type: has_many via: social service: referral - from: RegRequestApproveBody to: UpdateUserWeightBody type: has_many via: weight service: referral - from: RegRequestApproveBody to: CreateLink type: has_many via: link service: referral - from: ReferrallList to: ReferralResponseObject type: has_many via: list service: referral - from: ReferralResponseObject to: FirstDepositObject type: has_one via: firstDeposit service: referral - from: PartnerlList to: PartnerResponseObject type: has_many via: list service: referral - from: PartnerResponseObject to: RewardBalance type: has_many via: balance service: referral - from: UserStatisticsListResponse to: UserStatisticsResponse type: has_many via: list service: referral - from: StatisticsListResponse to: StatisticsResponse type: has_many via: list service: referral identifiers: published_prefix_scheme: false known_identifier_formats: - entity: Order field: orderId format: : regex: '[0-9]{5}:[0-9A-Fa-f]{26}' example: 00008:418f0157db5345688b1c910d08 since: API v2 source: https://docs.evedex.com/developers/developers/order_creation.md - entity: User field: userExchangeId format: not published note: Used as the suffix on every private Centrifugo channel (user-, order-, position-, tpsl-, funding-, transfer-update-, orderFills-, order-fee-). - entity: Instrument field: instrument format: symbol string, e.g. BTCUSD source: https://docs.evedex.com/developers/developers/market_data.md render: null