Skip to main content

Architecture

service diagram

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.

permission enforcement

relationship creation

  • 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.