# DigitalOcean Spaces GUI client for Mac, iPhone, and Web

> A DigitalOcean Spaces GUI with folder uploads, folder downloads, and versioning. Spaces pricing, all 13 region endpoints, CDN, and error fixes.

Canonical: https://www.bucketmate.app/s3-client/digitalocean-spaces

DigitalOcean Spaces is S3-compatible storage with a built-in CDN. BucketMate connects with a Spaces key and can turn on versioning through the S3 API.

Best for: DigitalOcean apps serving static assets through the free CDN

## DigitalOcean Spaces at a glance (checked October 2026)

- **Base plan**: $5/mo - 250 GiB storage and 1 TiB transfer
- **Overage**: $0.02/GiB - storage. Transfer is $0.01/GiB
- **CDN**: Included - at no extra cost
- **Regions**: 13 - including ric1 and mkc1
- Pricing: https://docs.digitalocean.com/products/spaces/details/pricing/

## DigitalOcean Spaces console vs BucketMate

| Task | Console | BucketMate |
| --- | --- | --- |
| Upload | Under 2 GB, fewer than 100 files, no folders | Whole folders, big files in parts |
| Download a folder | One file at a time | Download folders or the whole bucket |
| Versioning | Not in the control panel | Turn on, browse, and clean up versions |

## Made for DigitalOcean Spaces

- **Versioning from the GUI**: Spaces supports versioning through the S3 API only. BucketMate turns it on and auto-deletes old versions.
- **Per-bucket keys**: Bucket-scoped keys work too. Turn off Load all buckets and type the Space name.
- **Built-in CDN**: Public files are served from <space>.<region>.cdn.digitaloceanspaces.com. Use presigned links for private ones.

## Common errors

- `SignatureDoesNotMatch`: The region doesn't match the Space, or the request went through the CDN or a custom domain. Fix: Use the regional origin endpoint, not the CDN URL.
- `InvalidAccessKeyId`: An API token was used instead of a Spaces key, or the endpoint includes the bucket name. Fix: Use a Spaces key and https://<region>.digitaloceanspaces.com.
- `503 SlowDown`: Rate limit hit. New buckets allow 800 operations per second. Fix: Retry after a moment, and check status.digitalocean.com.

## Endpoint

`https://<region>.digitaloceanspaces.com`

Use the regional endpoint, not the Space or CDN URL.

- nyc3: https://nyc3.digitaloceanspaces.com
- atl1: https://atl1.digitaloceanspaces.com
- ric1: https://ric1.digitaloceanspaces.com
- mkc1: https://mkc1.digitaloceanspaces.com
- sfo2: https://sfo2.digitaloceanspaces.com
- sfo3: https://sfo3.digitaloceanspaces.com
- tor1: https://tor1.digitaloceanspaces.com
- ams3: https://ams3.digitaloceanspaces.com
- fra1: https://fra1.digitaloceanspaces.com
- lon1: https://lon1.digitaloceanspaces.com
- sgp1: https://sgp1.digitaloceanspaces.com
- blr1: https://blr1.digitaloceanspaces.com
- syd1: https://syd1.digitaloceanspaces.com

## Connect in BucketMate

A Spaces access key and secret.

1. Create a Spaces access key in the DigitalOcean control panel.
2. In BucketMate, choose Add connection and select DigitalOcean Spaces.
3. Enter the regional endpoint, keys, and region, then Test Connection.

On iPhone, pick Custom S3-compatible and set a custom region such as nyc3.

## S3 compatibility notes

- **128 KiB minimum**: Smaller objects are billed as 128 KiB.
- **5 GB single PUT**: Bigger files must use multipart. BucketMate does this for you.
- **Private files**: Share them with presigned links, or serve public files through the CDN.

## FAQ

### How much does DigitalOcean Spaces cost?

$5 per month includes 250 GiB of storage and 1 TiB of outbound transfer. Extra storage is $0.02 per GiB and extra transfer is $0.01 per GiB. The CDN is included.

### Can I upload a folder to Spaces?

Not in the control panel, which also caps uploads at 2 GB and 100 files. BucketMate uploads whole folders and big files in parts.

### What is the DigitalOcean Spaces endpoint?

https://<region>.digitaloceanspaces.com, for example https://nyc3.digitaloceanspaces.com. Do not include the Space name.

### Can I enable versioning on a Space?

Yes, through the S3 API. The control panel doesn't offer it, but BucketMate does.

### Why do I get SignatureDoesNotMatch with Spaces?

Usually the region doesn't match the Space, or the request went to the CDN URL. Use the regional origin endpoint.

## Links

- Docs: https://docs.bucketmate.app/macos/providers/connect-digitalocean-spaces.md
- Download: https://www.bucketmate.app/download
- Web app: https://web.bucketmate.app/
- All providers: https://www.bucketmate.app/s3-client.md
