Building with Lattice
The Lattice platform and the Lattice SDK™
The Lattice SDK™ allows developers to build applications, data services, and hardware integrations which create, exploit, and enhance Lattice data. The Lattice Developer Program complements this documentation by providing qualified developers with access to development environments running Lattice services with representative notional data, as well as access to Anduril solutions architecture guidance and developer support.
Publishing a surface vessel to Lattice.
Learn about the Lattice APIs.
Run sample apps on your local machine.
Data flow
An integration with Lattice can be unidirectional or bidirectional, supporting one or both of the following functions:
- Pushing data into Lattice, such as publishing data feeds or integrating a new robot.
- Pulling data from Lattice, such as tracks generated by towers to task against them.
The main entry-points for these integrations are the Entities,
Tasks, and Objects APIs.
The following shows how your integration fits into the Lattice ecosystem:

Protocols
Lattice supports both REST and gRPC protocols, each optimized for different integration needs and network environments.
While the REST SDKs provide client libraries that let you quickly integrate with Lattice, we also provide the
lattice-sdk Protocol Buffers in the Buf Schema Registry, where you can generate your own
gRPC artifacts in a variety of languages, and using any supported Buf plugin.
Architecture insight
Lattice uses gRPC and Protobuf internally to efficiently transmit data between Lattice nodes. Protobuf is a binary data protocol that has a low footprint and ensures only the data required for integration is passed between nodes, significantly reducing bandwidth usage while maintaining data integrity across a Lattice deployment.
Use gRPC for hardware integrations, such as drones, robots, and sensors when performance is critical.
gRPC offers binary format transmission, multiplexing, and native streaming support.
Use REST when sending asynchronous data to Lattice, if you prefer working with familiar HTTP tools and JSON formats, or have existing APIs that use REST you may prefer to use our REST SDKs.
Use the following information to decide which protocol works better for your use-case:
Use cases
The Lattice API and the services that power it are designed to be flexible and support a variety of workflows. The following are some of the common use-cases:
Apps:
Lattice apps are user-facing software solutions which consume and generate Lattice data. A Lattice app provides specialized end-user capabilities such as command and control, situational awareness, tasking, or planning.
Integrations:
Lattice integrations facilitate data transfer between Lattice and independent, external systems such as sensors, data feed producers, robotics, and other hardware and software capabilities. By integrating with Lattice, you increase the impact of your integration by leveraging Anduril’s widely adopted framework.
Data services:
Lattice data services are software modules which enrich or modify data within Lattice, usually without directly presenting a front-end workflow to end-users. For instance, Lattice data services might provide language translation services, track correlation, generative AI synthesis of track pictures, to name a few. Lattice lets you process data continuously or on-demand.
What’s next?
- Get started developing with the Lattice using Lattice Sandboxes.
- Learn how to set up your development environment.