---
title: Arc.Core
---

Arc.Core provides a lightweight application model for building .NET applications without requiring ASP.NET Core. This is ideal for console applications, background services, microservices, and scenarios where you want minimal dependencies and maximum performance.

## Why Arc.Core?

Arc.Core is designed for developers who want the power of Arc's developer experience—commands, queries, identity, multi-tenancy, and validation—without the overhead of the full ASP.NET Core stack. It's perfect for:

- Console applications
- Background services and workers
- Lightweight microservices
- Custom HTTP listeners
- gRPC services
- Scenarios requiring fast startup and low memory footprint
- Native AOT (Ahead-of-Time) compilation scenarios

## Key Features

- **Minimal Dependencies** - No web server dependencies (Kestrel, HTTP.sys), no MVC/Razor dependencies
- **Native AOT Ready** - Designed for Native AOT compilation with smaller binaries and faster startup
- **Full Arc Features** - Commands, queries, identity, multi-tenancy, validation, and more
- **Static File Serving** - Serve static assets and host Single Page Applications
- **Flexible** - Use with any .NET application type
- **Performance** - Faster startup times and lower memory consumption

## Topics

- [Overview](/arc/backend/core/overview/) - Learn about the motivation and design philosophy
- [Getting Started](/arc/backend/core/getting-started/) - Build your first Arc.Core application
- [Endpoint Mapping](/arc/backend/core/endpoint-mapping/) - Map custom HTTP endpoints with MapGet and MapPost
- [Static Files](/arc/backend/core/static-files/) - Serve static files and host SPAs
- [Authentication](/arc/backend/core/authentication/) - Implement custom authentication handlers
- [Authorization](/arc/backend/core/authorization/) - Protect your endpoints with authorization attributes
- [OpenAPI Specifications](/arc/backend/core/openapi/) - Generate OpenAPI documentation for your API

## Shared Features

Many Arc features work across both Arc.Core and ASP.NET Core:

- [Tenancy](/arc/backend/tenancy/overview/) - Tenant isolation and context management
- [Identity](/arc/backend/identity/) - Core identity system and user details
- [Commands](/arc/backend/commands/) - Command handling patterns
- [Queries](/arc/backend/queries/) - Query patterns and conventions
- [Chronicle](/arc/backend/chronicle/) - Event sourcing and CQRS
- [MongoDB](/arc/backend/mongodb/) - MongoDB integration
- [Entity Framework](/arc/backend/entity-framework/) - Entity Framework Core integration

## When to Use Arc.Core vs ASP.NET Core

**Use Arc.Core when you need:**
- Minimal dependencies and smaller binary size
- Faster startup times
- Lower memory footprint
- Native AOT compilation support
- Console applications or background services
- Scenarios where full web framework is unnecessary

**Use [ASP.NET Core Integration](/arc/backend/asp-net-core/) when you need:**
- Full web framework capabilities (Kestrel, middleware pipeline, static files)
- Razor views or MVC features
- Swagger UI for API documentation
- Advanced middleware scenarios
- Maximum HTTP throughput with Kestrel
- Traditional web application patterns

## Next Steps

Ready to get started? Head over to the [Getting Started](/arc/backend/core/getting-started/) guide to build your first Arc.Core application.
