Quickstart: Store Your First File on Hippius
Hippius S3 is a decentralized, S3-compatible storage service. This guide takes you from zero to your first file upload in under 5 minutes.
Step 1: Create an Account
- Go to console.hippius.com
- Sign up with Google or GitHub OAuth
That's it — no wallet, seed phrase, or browser extension required.
Step 2: Add Credits
- In the console, go to Billing
- Add credits using credit card (Stripe) or TAO
Credits are consumed as you store and retrieve files. See pricing for details.
Step 3: Create S3 Credentials
- In the console, go to S3 Storage
- Click Create Master Token
- Save your Access Key ID (starts with
hip_) and Secret Key
warning
Store your secret key securely — it cannot be retrieved after creation.
You can create multiple tokens with different access levels. See Token Management for details. Tokens can also be managed programmatically via the Management API.
Step 4: Upload a File
- Python (minio)
- JavaScript (minio)
- AWS CLI
pip install minio
from minio import Minio
from io import BytesIO
client = Minio(
"s3.hippius.com",
access_key="hip_your_access_key_id",
secret_key="your_secret_key",
secure=True,
region="decentralized",
)
# Create a bucket
client.make_bucket("my-first-bucket")
# Upload a file
content = b"Hello from Hippius!"
client.put_object(
"my-first-bucket",
"hello.txt",
BytesIO(content),
length=len(content),
content_type="text/plain",
)
print("Uploaded successfully!")
npm install minio
const Minio = require("minio");
const client = new Minio.Client({
endPoint: "s3.hippius.com",
port: 443,
useSSL: true,
accessKey: "hip_your_access_key_id",
secretKey: "your_secret_key",
region: "decentralized",
});
// Create a bucket
await client.makeBucket("my-first-bucket", "decentralized");
// Upload a file
const content = Buffer.from("Hello from Hippius!");
await client.putObject("my-first-bucket", "hello.txt", content, {
"Content-Type": "text/plain",
});
console.log("Uploaded successfully!");
# Configure credentials
export AWS_ACCESS_KEY_ID="hip_your_access_key_id"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_DEFAULT_REGION="decentralized"
# Create a bucket
aws s3 mb s3://my-first-bucket --endpoint-url https://s3.hippius.com
# Upload a file
echo "Hello from Hippius!" > hello.txt
aws s3 cp hello.txt s3://my-first-bucket/hello.txt --endpoint-url https://s3.hippius.com
Step 5: Download and Verify
- Python (minio)
- JavaScript (minio)
- AWS CLI
response = client.get_object("my-first-bucket", "hello.txt")
print(response.read().decode())
response.close()
response.release_conn()
const stream = await client.getObject("my-first-bucket", "hello.txt");
let data = "";
for await (const chunk of stream) {
data += chunk.toString();
}
console.log(data);
aws s3 cp s3://my-first-bucket/hello.txt - --endpoint-url https://s3.hippius.com
Connection Details
| Setting | Value |
|---|---|
| Endpoint | https://s3.hippius.com |
| Region | decentralized |
| Signature | AWS Signature V4 |
| Addressing | Path-style |
Next Steps
- S3 API Reference — Full list of operations, presigned URLs, ACLs, public buckets, and more
- Token Management — Create sub-tokens, manage access levels
- Pricing — Storage and bandwidth costs