---
description: Create an access key, connect an S3 client, and move your first object on Verda Object Storage.
revision_date: 14.10.2026
---

# Quickstart

This guide takes you from nothing to a stored object in four steps: create an access key, point an S3 client at Verda, create a bucket, and upload and download an object.

You will need a Verda account with an active project and a positive balance. See the [Object Storage overview](https://docs.verda.com/storage/object-storage/) for endpoint and pricing details.

## 1. Create an access key

Object Storage uses S3 access keys, which are separate from the [Cloud API credentials](https://docs.verda.com/welcome-to-verda/api-credentials/) you use for the Verda API, the CLI, and Terraform.

In the [console](https://console.verda.com/), open your project and go to **Project management -> Credentials**. In the **Object Storage Access Keys** section, click **Create**, name the key (up to 32 characters), and confirm with **Create access key**.

The **Object storage access key generated** dialog then shows the **Access key** and the **Secret key**. Copy both before you close it, because the secret key is shown this once and cannot be retrieved later from the console or the API.

If your project has no keys yet, the **Object storage** page opens the same dialog from **Getting started -> Generate your keys**. For the rest of what the console covers, see [Manage Object Storage in the console](https://docs.verda.com/storage/object-storage/#manage-object-storage-in-the-console).

You can also create a key through the API:

```bash
curl -X POST https://api.verda.com/v1/object-storage/access-keys \
  -H "Authorization: Bearer $VERDA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "quickstart-key"}'
```

The response contains `access_key` and `secret_key`. Store the secret key somewhere safe.

## 2. Configure your S3 client

Use these connection settings:

- Endpoint: `https://objects.eu-north-3.verda.storage`
- Region: `us-east-1`

### Using AWS CLI

Store the Verda settings in a separate named profile, here called `verda`. Running `aws configure set` without `--profile` writes to your default profile and overwrites any AWS credentials you already have there.

```bash
aws configure set aws_access_key_id <ACCESS_KEY> --profile verda
aws configure set aws_secret_access_key <SECRET_KEY> --profile verda
aws configure set region us-east-1 --profile verda
aws configure set endpoint_url https://objects.eu-north-3.verda.storage --profile verda
aws configure set request_checksum_calculation when_required --profile verda
aws configure set response_checksum_validation when_required --profile verda
```

The two checksum settings keep recent AWS CLI versions from sending checksum headers that Verda Object Storage does not support. Setting the endpoint in the profile requires AWS CLI 2.13 or later. On older versions, pass `--endpoint-url https://objects.eu-north-3.verda.storage` on each command instead.

Add `--profile verda` to your commands, or run `export AWS_PROFILE=verda` to use the profile for the rest of your shell session.

### Using boto3 (Python)

```python
import boto3
from botocore.config import Config

s3 = boto3.client(
    "s3",
    endpoint_url="https://objects.eu-north-3.verda.storage",
    aws_access_key_id="<ACCESS_KEY>",
    aws_secret_access_key="<SECRET_KEY>",
    region_name="us-east-1",
    config=Config(
        s3={"addressing_style": "path"},
        request_checksum_calculation="when_required",
        response_checksum_validation="when_required",
    ),
)
```

### Using Verda CLI

```bash
verda object-storage configure \
  --endpoint https://objects.eu-north-3.verda.storage \
  --access-key <ACCESS_KEY> \
  --secret-key <SECRET_KEY>
```

[Read more about Verda CLI](https://docs.verda.com/cli/).

## 3. Create a bucket

Bucket names are globally unique and follow standard S3 naming rules (3 to 63 characters). Create buckets in the console or through the Verda API. Creating buckets through the S3 API (for example `aws s3 mb`) is not supported.

=== "Console"

    Open your project, go to **Storage -> Object storage**, and click **Create bucket**. Enter a **Bucket name**, pick the **Location**, and confirm.

=== "Verda API"

    ```bash
    curl -X POST https://api.verda.com/v1/object-storage/buckets \
      -H "Authorization: Bearer $VERDA_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name": "my-bucket"}'
    ```

## 4. Upload and download an object

### Using AWS CLI

```bash
# upload
aws s3 cp ./photo.jpg s3://my-bucket/photo.jpg --profile verda

# download
aws s3 cp s3://my-bucket/photo.jpg ./photo-downloaded.jpg --profile verda
```

### Using boto3 (Python)

```python
s3.upload_file("photo.jpg", "my-bucket", "photo.jpg")
s3.download_file("my-bucket", "photo.jpg", "photo-downloaded.jpg")
```

### Using Verda CLI

```bash
# upload
verda object-storage cp ./photo.jpg s3://my-bucket/photo.jpg

# download
verda object-storage cp s3://my-bucket/photo.jpg ./photo-downloaded.jpg
```

Large uploads and downloads run as parallel parts and resume automatically if interrupted: re-run the same command to continue.

## Next steps

- [Verda CLI: Object Storage](https://docs.verda.com/cli/object-storage/): the full command reference, including `sync`, `mv`, recursive transfers, multiple profiles, and interactive browsing.
- [Object Storage overview](https://docs.verda.com/storage/object-storage/): features, performance, security, pricing, and Beta quota.
- [Verda API](https://api.verda.com/v1/docs): the `/v1/object-storage` endpoints for buckets and access keys.
