Skip to main content
Storage • 2 mins read

S3 Compatibility Matrix

S3 Compatibility Matrix

Hippius S3 is a drop-in replacement for Amazon S3 with a focused feature set. If you already have code that works with AWS S3, you only need to change three things: endpoint URL, region, and credentials. Everything else stays the same.

This page lists every S3 API operation and whether Hippius supports it.

Connection Parameters

ParameterValue
Endpointhttps://s3.hippius.com
Regiondecentralized
SignatureAWS Signature V4
AddressingPath-style (s3.hippius.com/bucket/key)

Bucket Operations

OperationStatusNotes
CreateBucket✅ Supported
DeleteBucket✅ SupportedMust be empty
HeadBucket✅ Supported
ListBuckets✅ Supported
GetBucketLocation✅ SupportedReturns decentralized
PutBucketAcl✅ Supportedprivate, public-read, public-read-write, authenticated-read
GetBucketAcl✅ Supported
PutBucketPolicy✅ SupportedJSON IAM-style policies
GetBucketPolicy✅ Supported
DeleteBucketPolicy✅ Supported
PutBucketTagging✅ Supported
GetBucketTagging✅ Supported
DeleteBucketTagging✅ Supported
PutBucketLifecycleConfiguration⚠️ PartialBasic expiration rules only
GetBucketLifecycleConfiguration⚠️ Partial
PutBucketVersioning❌ Not supported
GetBucketVersioning❌ Not supported
PutBucketCors❌ Not supportedCORS is handled at the gateway level
PutBucketNotificationConfiguration❌ Not supported
PutBucketReplication❌ Not supportedData is replicated by the network automatically
PutBucketLogging❌ Not supported

Object Operations

OperationStatusNotes
PutObject✅ SupportedUp to ~5 TiB via multipart
GetObject✅ SupportedRange requests supported (video streaming)
HeadObject✅ Supported
DeleteObject✅ Supported
DeleteObjects✅ SupportedBulk delete
CopyObject✅ Supported
ListObjectsV2✅ SupportedPagination, prefix, delimiter
ListObjects✅ SupportedV1 — prefer ListObjectsV2
PutObjectAcl✅ SupportedPer-object ACLs
GetObjectAcl✅ Supported
PutObjectTagging✅ Supported
GetObjectTagging✅ Supported
DeleteObjectTagging✅ Supported
SelectObjectContent❌ Not supportedS3 Select
PutObjectLockConfiguration❌ Not supportedObject Lock / WORM
PutObjectRetention❌ Not supported

Multipart Upload

OperationStatusNotes
CreateMultipartUpload✅ Supported
UploadPart✅ Supported
CompleteMultipartUpload✅ Supported
AbortMultipartUpload✅ Supported
ListMultipartUploads✅ Supported
ListParts✅ Supported

Presigned URLs

OperationStatusNotes
Presigned GET✅ SupportedMax expiry: 7 days
Presigned PUT✅ SupportedMax expiry: 7 days
Presigned DELETE✅ Supported

What's Different from AWS S3

Hippius S3 is S3-compatible but not an AWS clone. Here's what to keep in mind:

  • Path-style only. Virtual-hosted style (bucket.s3.hippius.com) is not supported. Always use forcePathStyle: true or addressing_style: "path".
  • Single region. There's no multi-region setup. The region is always decentralized.
  • No versioning. Objects are overwritten in place. If you need version history, manage it in your application.
  • No S3 Select. You can't query inside objects. Download the object and process it locally.
  • No event notifications. There's no equivalent of S3 Event Notifications or Lambda triggers.
  • Replication is automatic. The Hippius network handles data replication across miners. You don't need to configure cross-region replication.

Tested Clients

These S3 clients are tested and confirmed to work with Hippius S3:

ClientLanguageGuide
boto3PythonPython guide
minio-pyPythonPython guide
@aws-sdk/client-s3JavaScriptJavaScript guide
minio-jsJavaScriptJavaScript guide
AWS CLICLIAWS CLI guide
rcloneCLIrclone guide

Further Reading