
Tigris
Globally distributed S3-compatible object storage that moves data to where it’s read, with no egress fees.
- What it is
- Object storage
- Type
- Commercial product
- Made by
- Tigris Data
- License
- Proprietary (SDKs and CLI MIT; TigrisFS and the TAG cache Apache 2.0)
- Facts checked
- 5 October 2026
What it is
Tigris answers the S3 API at one endpoint, https://t3.storage.dev, with the region set to auto. Stateless API gateways in each region take requests close to the client. Object metadata (where each object lives, user metadata, permissions) is kept in FoundationDB, a transactional key-value store, replicated between several clusters; object bytes go to block stores in the region nearest the writer. In the default Global bucket, metadata is pushed to every region and data is pulled on demand: the first read from another region makes a local copy there, and over time data settles where it is read most. Reads in the same region are strongly consistent; reads from other regions may briefly return an older version. Single-region, Dual-region and Multi-region buckets pin data instead. Buckets can also be snapshotted and forked without copying data. There are 8 regions: San Jose, Chicago, Ashburn, Amsterdam, Frankfurt, London, Singapore and Tokyo.
Standard storage costs $0.02 per GB-month, Infrequent Access $0.01 and the two archive tiers $0.004. Writes cost $0.005 per 1,000 and reads $0.0005 per 1,000, and nothing is charged per GB out, from any region. The price is the same for every location type, with no charge for replication. Infrequent Access has a 30-day minimum and a $0.01 per GB retrieval fee; the archive tiers have a 90-day minimum. Each month 5 GB, 10,000 writes and 100,000 reads are free. Tigris started on Fly.io, where fly storage create makes a bucket and sets the AWS_* secrets on an app. The service itself is closed source; its SDKs, CLI, the TigrisFS FUSE file system and the TAG caching gateway are open source.
Why teams pick it
- One endpoint and no egress fees: data written in one region is served locally in others without setting up a CDN or replication
- Strong consistency within a region, conditional writes, and whole-bucket snapshots and zero-copy forks
- Wide S3 coverage, including object tagging and ACLs; S3 storage class names map to its tiers
- Built into Fly.io’s CLI, and runs on Tigris’s own hardware rather than on a big cloud
Watch out for
- Standard storage at $0.02 per GB-month costs more than R2 and nearly as much as S3 Standard, and two and a half to three times Wasabi or B2 per TB; reads and writes are billed per request
- Global buckets are only eventually consistent across regions, and a GET or HEAD for a key that doesn’t exist checks other regions, which can add several hundred milliseconds
- The default Global bucket keeps a single copy placed by access pattern; for data that must ride out a regional outage, Tigris recommends Multi-region
- Eight regions, a closed-source service and a young company (paid since July 2024)
- Infrequent Access and archive tiers bring minimum durations (30 and 90 days) and retrieval fees
Alternatives
What all object storage have in common →
Amazon S3AWSAWS’s object storage, and the de facto API most object stores copy.Apache OpenDALOpen sourceA Rust library, with bindings for Python, Java, Node.js, Go and more, that gives one API (read, write, stat, list, delete) over 50-plus storage backends: S3 and other object stores, local and HDFS file systems, Google Drive and Dropbox, and key-value stores.
Apache OzoneOpen sourceA Hadoop-born object store that serves the same buckets over S3 and as a Hadoop file system.
SeaweedFSOpen sourceA distributed blob store with an S3 gateway and a file system layer, built to store and serve billions of small files.
Versity S3 GatewayOpen sourceA stateless S3 server that exposes an existing file system, or another object store, through the S3 API.How it fits with other technologies
A Global bucket and a single-region bucket with the aws CLI · bash
# one endpoint for every region; the region is always "auto"
export AWS_ENDPOINT_URL_S3="https://t3.storage.dev" AWS_REGION=auto
# default Global bucket: stored near the writer, copied near each reader
aws s3api create-bucket --bucket acme-models
aws s3 cp model.safetensors s3://acme-models/llama/model.safetensors
# pin a bucket to Frankfurt: strongly consistent from everywhere
aws s3api create-bucket --bucket acme-eu-logs \
--create-bucket-configuration '{"LocationConstraint":"fra"}'
aws s3api put-object --bucket acme-eu-logs --key 2026/10/05/app.log.gz \
--body app.log.gz --storage-class STANDARD_IANext to S3 and R2#
Wasabi, Backblaze B2 and Tigris all speak the S3 API, but they sell different things: Wasabi and B2 a low flat price per TB, Tigris data placed near whoever reads it. List prices, checked on 5 October 2026.
| Wasabi | Backblaze B2 | Tigris | Amazon S3 Standard | Cloudflare R2 Standard | |
|---|---|---|---|---|---|
| Storage, per GB-month | $0.0078 ($7.99 per TB) | $0.00695 ($6.95 per TB) | $0.02 | $0.023 (first 50 TB) | $0.015 |
| Egress to the internet | Free while monthly egress stays at or below the data stored | Free up to 3× the average data stored, then $0.01 per GB; free through partner CDNs | Free | $0.09 per GB for the first 10 TB, after 100 GB free | Free |
| Request fees | None | Free, except Class D calls: $0.004 per 10,000 after 2,500 a day | $0.005 per 1,000 writes, $0.0005 per 1,000 reads | $0.005 per 1,000 writes, $0.0004 per 1,000 reads | $4.50 per million writes, $0.36 per million reads |
| Minimum storage duration | 90 days (pay as you go) | None | None (30 days Infrequent Access, 90 days Archive) | None (30 to 180 days in colder classes) | None (30 days Infrequent Access) |
| Other minimums, free allowance | 1 TB billed every month; objects billed as at least 4 KB | First 10 GB free | 5 GB, 10,000 writes and 100,000 reads free each month | No minimum charge; Free Tier credits for new accounts | 10 GB-month, 1 million writes and 10 million reads free each month |
| Regions | 16; each bucket lives in the region you pick | 4; chosen per account at sign-up and fixed | 8 behind one endpoint; Global buckets follow their readers | Each bucket lives in the AWS Region you pick | One endpoint per account, region auto |
- Wasabi’s price is for North America and EMEA; the S3 prices are for US East (N. Virginia).
- A minimum storage duration means an object deleted or overwritten sooner is still billed for the full period. On Wasabi it applies to all pay-as-you-go storage, not just a cold tier.
Bucket location types#
You pick the location type when you create the bucket, with LocationConstraint. It decides where copies live and how fresh a read from another region is. All four cost the same.
| Type | `LocationConstraint` | Where the data lives | Read from another region | Survives |
|---|---|---|---|---|
| Global (default) | omit, or auto | One copy, near the writer; copied on demand to regions that read it | Eventually consistent | Accessible from any surviving region, per Tigris |
| Multi-region | usa or eur | Two or more regions in that geography, chosen by Tigris | Strongly consistent | A regional outage within the geography |
| Dual-region | two codes, e.g. iad,sjc | The two regions you name | Eventually consistent | Losing one of the two regions |
| Single-region | one code, e.g. iad | Across availability zones in one region | Strongly consistent (every request goes there) | Losing an availability zone |
- Tigris recommends Multi-region for most workloads that need geographic redundancy, and Dual-region only when rules require data in two specific regions.
See it in a real stack
No architecture uses Tigris yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2022–2025
Ovais Tariq, Himank Chaudhary and Yevgeniy ran storage platform teams at Uber for six years, building systems such as Docstore and Herb for thousands of internal developers. They wanted to offer that kind of platform to everyone. Their first product under the Tigris name, in 2022, was an open-source (Apache 2.0) backend for real-time apps, built on FoundationDB so they could skip rebuilding consistency, fault handling and load balancing themselves.
In April 2023 Tariq met Fly.io’s team, whose pitch was running an app in many regions as easily as in one. Tigris turned that idea to storage: objects written in San Jose should be readable from Sydney at local speed, with no setup. On 14 February 2024 it opened a public beta of globally distributed, S3-compatible object storage on Fly.io, free during the beta, and started billing in July 2024.
A seed round led by Andreessen Horowitz followed in March 2024, and a $25 million Series A led by Spark Capital in October 2025, which Tigris said would pay for its own hardware in data centers. Its customers include AI companies such as fal and Krea.
Why it’s built this way
- Metadata in FoundationDB
- A distributed key-value store with strictly serializable transactions gave the team strong consistency, conditional writes and sharding without writing their own consensus and failure handling.
- Data follows its readers
- An S3 bucket lives in one region, so distant users are slow unless you add a CDN. Tigris caches and moves objects to the regions that read them instead.
- No egress fees
- The founders saw egress as a lock-in tax; free transfer lets the same bucket feed compute at any cloud, which matters most for AI training and inference.
- Launch inside Fly.io
- Fly.io users ran apps in many regions but often kept their files on a traditional cloud such as S3. A built-in
fly storage createremoved that gap.
Timeline
- 2022
Tigris ships as an open-source app backend built on FoundationDB
- 2023
Ovais Tariq meets the Fly.io team in April
- 2024
Public beta on Fly.io in February; a16z seed in March; billing from July
- 2025
$25 million Series A led by Spark Capital; moves onto its own hardware
- Tigris blog: Skipping the boring parts of building a storage platform using FoundationDB (September 2022)
- GitHub: tigrisdata/tigris, the original open-source data platform (Apache 2.0, as of November 2022) · archived copy, original
- Tigris blog: Tigris, the globally distributed S3-compatible object storage (public beta, 14 February 2024)
- Tigris blog: Announcing our seed round led by Andreessen Horowitz (March 2024)
- Tigris blog: We’re enabling billing for Tigris in July (May 2024)
- Tigris blog: Tigris raises $25M (Series A, October 2025)
Sources27 · facts checked 5 October 2026
- Wasabi: Pricing (pay as you go and Reserved Capacity)
- Wasabi: Pricing FAQ (per-GB price, 90-day minimum, 1 TB minimum, 4 KB minimum, free egress policy)
- Wasabi docs: Service URLs for Wasabi’s storage regions
- Backblaze: B2 Cloud Storage pricing
- Backblaze docs: Data regions
- Tigris: Pricing
- Tigris docs: Regions
- AWS: Amazon S3 pricing
- AWS docs: What is Amazon S3? (buckets and Regions)
- Cloudflare R2 docs: Pricing
- Cloudflare R2 docs: S3 API compatibility (account endpoint, `auto` region)
- Tigris docs: Architecture (gateways, caching, FoundationDB metadata, block stores)
- Tigris docs: Consistency
- Tigris docs: Bucket locations
- Tigris docs: Creating a bucket (`LocationConstraint` values)
- Tigris docs: Storage tiers
- Tigris docs: AWS CLI
- Tigris docs: S3 API compatibility
- Tigris docs: Snapshots and forks
- Tigris docs: Manage Tigris buckets with Fly.io
- Tigris docs: ClickHouse on Tigris
- Tigris docs: TAG, Tigris Acceleration Gateway
- GitHub: tigrisdata/storage (SDKs and CLI, MIT)
- GitHub: tigrisdata/tigrisfs (Apache 2.0)
- GitHub: tigrisdata/tag (Apache 2.0)
- Tigris blog: Tigris raises $25M (own hardware)
- Tigris blog: We’re enabling billing for Tigris in July