Skip to content

Introduction

Virtufin API is a high-performance API gateway built on .NET that provides a unified interface for gRPC service discovery, reflection, state management, configuration, and event-driven pub/sub messaging.

Key requirement: All backend services registered with the API Gateway must implement gRPC reflection. The gateway discovers service methods, validates schemas, and executes calls dynamically via reflection. Services without it cannot be proxied.

What is Virtufin API?

Virtufin API acts as a gateway between external clients and internal microservices. Instead of requiring clients to know the exact gRPC endpoint of every backend service, they connect to a single gateway that handles:

  • Service Discovery: Dynamically discover available gRPC services and their methods
  • Method Invocation: Call any gRPC method via a generic JSON-based invocation interface
  • State Management: Distributed key-value state store with conflict detection
  • Configuration: Runtime configuration management with hot-reload support
  • Pub/Sub Messaging: Event-driven communication with server-streaming subscriptions

Key Features

Feature Description
Mirrored gRPC Invoke any registered gRPC backend without compile-time proto dependencies
Sub-Protocol Formatter Transform gRPC responses into JSON for non-gRPC consumers
Event Streaming Server-sent events via server-streaming gRPC subscriptions
Dynamic Configuration Hot-reload runtime settings without service restarts
Health Monitoring Built-in health checks with detailed service status reporting

Use Cases

  • API Aggregation: Single entry point for multiple gRPC microservices
  • Legacy Integration: Expose gRPC backends as JSON REST endpoints
  • Event-Driven Architecture: Pub/sub system for real-time event distribution
  • Multi-Tenant State: Namespace-isolated key-value storage per tenant
  • DevOps Tooling: Runtime service discovery for debugging and monitoring

Getting Started

To get started with Virtufin API:

  1. Read the Architecture Overview to understand the system design
  2. Follow the Getting Started guide to deploy your first instance
  3. Explore the API Reference for detailed endpoint documentation
  4. Choose your SDK: C#, Python, or TypeScript

Requirements

Component Version
.NET 10.0+
Dapr 1.18+
Protocol Buffers proto3

Next Steps