Now in Public Alpha

The Graph Database
Forged for Performance

A Rust-powered graph database with native Cypher support, ACID transactions, built-in algorithms, and a GraphQL API — engineered for speed, safety, and scale.

Anvil Logo
example.cyphercypher
// Find the shortest path between two people
MATCH path = shortestPath(
  (a:Person {name: "Alice"})-[:KNOWS*]-(b:Person {name: "Bob"})
)
RETURN path, length(path) AS hops
Core Capabilities

Everything you need to build with graphs

Anvil ships with a complete toolkit — from query execution and document storage to row-level security and clustering — so you can focus on your data, not your infrastructure.

Cypher Query Engine

Full Cypher with multi-hop BFS pattern matching, quantified paths, ALL SHORTEST, ORDER BY/LIMIT/SKIP/DISTINCT, comma-separated patterns, MERGE, and aggregation — all in safe Rust.

ACID Transactions

Multi-version concurrency control with snapshot isolation, automatic deadlock detection, write-ahead logging, and ARIES-style crash recovery.

Graph Algorithms

Built-in PageRank, Dijkstra, community detection, betweenness centrality, and more — executed natively on the storage engine for maximum throughput.

Plugin Ecosystem

Extend Anvil with Rust, Lua, Python, WASM, JavaScript, TypeScript, or Starlark plugins. Ship custom functions, procedures, and storage backends.

Clustering & Replication

Raft-based consensus for leader election, WAL streaming replication for read replicas, and hash-based sharding for horizontal scale-out.

GraphQL API

Auto-generated GraphQL schema from your graph model with Relay-spec connections, real-time subscriptions, and batched DataLoader queries.

Native Document Store

Built-in NoSQL with schema-namespaced collections, composite keys, TTL, secondary indexes, and bidirectional graph-document sync — no separate database needed.

Row-Level Security

PostgreSQL-inspired RLS policies on nodes, relationships, and documents with sync pairs. Session variables enable multi-tenancy with zero application code changes.

Authentication

Graph-native auth with JWT RS256 tokens, JWKS endpoint, Argon2id password hashing, refresh tokens, and per-request session middleware.

Functions & Triggers

Stored Cypher functions with typed parameters and CALL...YIELD. Event-driven triggers on INSERT/UPDATE/DELETE with BEFORE/AFTER timing and OLD/NEW variables.

Observability

Built-in event log, slow query detection, query analytics with p95/p99 latency, dependency analysis, and configurable alert rules.

Data Import

Import Neo4j-compatible Cypher scripts via CLI, REST API, or Hammer UI. Supports multi-CREATE, MERGE, and variable binding across statements.

Edge Functions

Run JavaScript/TypeScript on the server via HTTP endpoints. Deno or Node.js subprocess runtime with on-demand execution.

Developer Experience

Query with Cypher. Expose with GraphQL.

Write expressive Cypher queries to traverse your graph, then expose the same data through an auto-generated, Relay-compliant GraphQL API — complete with connections, pagination, and real-time subscriptions.
  • Full Cypher language support with cost-based optimization
  • Auto-generated GraphQL schema from your graph model
  • Relay-spec connections with cursor-based pagination
  • Real-time subscriptions over WebSockets
queries.cyphercypher
// Create a social graph
CREATE (alice:Person {name: "Alice", role: "Engineer"})
CREATE (bob:Person {name: "Bob", role: "Designer"})
CREATE (alice)-[:KNOWS {since: 2023}]->(bob)

// Query with pattern matching
MATCH (p:Person)-[r:KNOWS]->(friend)
WHERE p.role = "Engineer"
RETURN p.name, collect(friend.name) AS friends
schema.graphqlgraphql
# Auto-generated GraphQL API
query GetPerson {
  person(name: "Alice") {
    name
    role
    knows(first: 10) {
      edges {
        since
        node {
          name
          role
        }
      }
    }
  }
}
Under the Hood

Built from the ground up in Rust

A layered architecture designed for performance, safety, and extensibility — from the storage engine to the client drivers.
Client Layer
Hammer UIRust DriverTypeScript DriverPython DriverGo Driver
API Layer
Cypher EndpointGraphQL APIREST AdminDocument API
Engine Layer
Query OptimizerGraph AlgorithmsPlugin RuntimeTransaction ManagerRLS EngineAuth Middleware
Storage Layer
Page ManagerWALB+ Tree IndexesCompressionTiered StorageDocument Store
Cluster Layer
Raft ConsensusWAL StreamingShard RouterGossip Protocol
2,277
Tests

Comprehensive test suite covering every layer of the stack

13
Crates

Modular Rust workspace with clean separation of concerns

4
Client Drivers

Native drivers for Rust, TypeScript, Python, and Go

55
APOC Functions

Built-in library of graph utility functions and procedures

Get Started

Start Building

Install the CLI, spin up a database, and start querying in minutes.