Skip to main content
Tusky provides a fully automated migration tool that pulls your data from Amazon S3 and publishes it to the Walrus decentralized storage network. Set up your S3 connection, and Tusky handles the rest — no manual downloads, no scripting, no infrastructure to manage.

How It Works

1

Configure S3 connection

Provide your S3 bucket details and a read-only IAM credential. Tusky only needs permission to list and read objects — it never modifies your S3 data.
2

Select content

Choose whether to migrate the entire bucket or specific prefixes (folders). You can also filter by file type or size.
3

Start migration

Tusky begins pulling objects from S3 and uploading them to your chosen environment on the Walrus network. Progress is tracked in real time.
4

Verify and switch

Once the migration completes, verify your content through your Tusky aggregator and update your application to point to the new URLs.

Setting Up IAM Permissions

Create a dedicated IAM user or role with minimal read-only permissions for the migration. Use the following IAM policy:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "TuskyMigrationReadOnly",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}
Never grant write or delete permissions to the migration credential. Tusky only reads from your S3 bucket and does not modify any existing data.

Creating the IAM User

1

Open IAM console

Navigate to the AWS IAM console and click Users → Create user.
2

Create user

Name the user (e.g. tusky-migration) and select Programmatic access to generate an access key and secret.
3

Attach policy

Create a custom policy using the JSON above, replacing your-bucket-name with your actual bucket name. Attach it to the user.
4

Save credentials

Copy the Access Key ID and Secret Access Key. You will enter these in the Tusky dashboard.

Configuring the Migration

Dashboard

1

Navigate to Tools → S3 Migration

Open the Tusky dashboard and go to Tools → S3 Migration.
2

Enter S3 details

Provide the following:
FieldDescription
Bucket nameThe name of your S3 bucket.
RegionThe AWS region where the bucket is located.
Access Key IDIAM user access key.
Secret Access KeyIAM user secret key.
Prefix (optional)Only migrate objects under this prefix (e.g. uploads/images/).
3

Select target environment

Choose an existing environment or create a new one to receive the migrated files.
4

Configure storage options

Set the number of storage epochs and whether to enable auto-extend for the migrated files.
5

Start migration

Click Start Migration. Tusky validates the S3 connection and begins pulling data.

Monitoring Progress

The dashboard shows real-time migration progress including:
  • Total objects discovered
  • Objects migrated successfully
  • Objects failed (with error details)
  • Estimated time remaining
  • Total storage cost
Large migrations (millions of objects) may take several hours. You can safely close the dashboard — the migration runs in the background and you will be notified upon completion.

Post-Migration

After the migration completes:
  1. Verify content — Spot-check files through your Tusky aggregator to confirm integrity.
  2. Update references — Replace S3 URLs in your application with Tusky aggregator URLs.
  3. Revoke IAM credentials — Delete the migration IAM user from AWS since it is no longer needed.
  4. Decommission S3 (optional) — Once you have verified all content is accessible through Tusky, you can optionally remove the S3 bucket to stop incurring AWS storage costs.
Tusky preserves the original file names, directory structure (prefixes), and MIME types from S3. Your files are organized in the target environment exactly as they were in the bucket.

What’s Next