The modern, multi-threaded Dart server framework that helps you focus on building.

Conduit is a powerful open-source web framework with everything you need to create production-ready applications.



(Migrating from Aqueduct? Click here)



One framework, all the tools you need.

Fluid routing

An easy-to-use functional routing approach makes reading and composing your application fluid and powerful.

router
    .route("/users/[:id]")
    .link(() => RateLimiter())
    .link(() => UserController());

Statically-typed ORM with database migrations

A helpful, feature-rich ORM makes it simple to map and query your data with code completion and refactoring. And with a tested CLI and tooling, stop worrying about your migrations.

final q = Query<Child>(context)
    ..where((p) => p.parent.age).greaterThan(30)
    ..join(object: (p) => e.parent);

final childrenWithParentsOver30 = await q.fetch();

Built-in OAuth 2.0 server and security model

Powerful and configurable, a built-in OAuth 2.0 system makes security and access a breeze, while giving apps the freedom to store tokens and identifiers wherever they choose.

final delegate = ManagedAuthDelegate<User>(context);
authServer = AuthServer(delegate);

router.route("/profile")
    .link(() => Authorizer.bearer(
        authServer, scopes: ["profile.readonly"]))
    .link(() => ProfileController(context));

Integrated testing library

An expressive test syntax with full integration allows for functional tests that don't rely on mocks. Full access to the framework allows testing database updates and more.

test("GET /foo returns 200 and data", () async {
    final result = await agent.get("/foo");
    expect(result, hasResponse(200, partial({
        "status": "pending",
        "version": greaterThan(1)
    })));
});




Works with your favorite technology

Conduit is built on the world class Dart platform, which powers some of the world’s most trusted apps and frameworks, such as Google Ads and Flutter. Dart’s maturity and active developer community means Conduit works with all of the most popular technology and services.

And with prebuilt Docker images and built-in support for PostgreSQL databases, Conduit is ready for your tech stack.


Reliable, fast, and tested

Conduit is relied upon to power advanced applications in production for several companies, including TaxiTecnic. Built-in concurrency means it’s blazing fast, and memory-isolated threads eliminate complicated synchronization and race condition worries. Conduit is supported by over 1400 automated tests, guaranteeing the stability of each release. And features like sound null safety allow for confidence when writing an application.

1400 automated tests
... and counting!

Ready? Get up and running in just a few minutes.


$ :! (as administrator)
$ choco install dart-sdk
$ pub global activate conduit
$ conduit create my_project
$ cd my_project
$ conduit serve
$ brew tap dart-lang/dart
$ brew install dart
$ pub global activate conduit
$ conduit create my_project
$ cd my_project
$ conduit serve
$ sudo sh -c 'wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
$ sudo sh -c 'wget -qO- https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
$ sudo apt-get update
$ sudo apt-get install dart
$ echo 'export PATH="$PATH:/usr/lib/dart/bin"' >> ~/.profile
$ pub global activate conduit
$ conduit create my_project
$ cd my_project
$ conduit serve
See the full getting started guide

Join our Discord if you get stuck