Architecture
Hub is a collection of loosely coupled microservices that emit and process messages through a shared Redpanda cluster, a Kafka compatible streaming data platform. The services also expose their own GraphQL API that are stitched together into a single API endpoint using Apollo Federated Router.
Hub Console - User-friendly management console for interacting with the Hub API, built with Next.js and TypeScript.
Hub NFTs - Multi-chain minting and indexing of NFT campaigns. Leverages the Redpanda platform for inter-service communication.
Hub Orgs - Catalogue of all organizations, projects, and memberships for Hub.
Hub Treasuries - Creates crypto wallets using Fireblocks and submits blockchain transactions using Hub custodial wallets.
Hub Customers - Manages customer references that receive a treasury for storing crypto wallets.
Hub Permissions - Contains all permission relationships for the Hub, leveraging Ory Keto for ACL, RBAC, and other access models.
Hub Identities - Manages all identities for Hub. Provides a GraphQL API for interacting with Ory Kratos, the identity server.
Hub Credentials - Allows creation of API credentials for Hub. Provides a GraphQL API for interacting with Ory Hydra.
Hub Webhooks - Receives webhook events as Hub resources change, using Svix webhooks service.
Hub Credits - Allows users to pay for blockchain transactions and storage without needing tokens. Users can purchase credits using a credit card.
Hub Messages - Listens for events emitted by services and sends emails to users using Postmark when applicable. Leverages Redpanda for event processing.