Skip to main content

FAQ

Accounts & keys​

How do I create an account?​

console.ecohash.com → Sign up → Email+password or Continue with Google. See Sign up.

Can multiple people share one account?​

Yes. The account owner invites team members via the Users page. All members share the balance, API keys, and resources. See Team & invites.

How do I create an API key?​

Console → API Keys → Create new key. See API Keys.

Can I use the OpenAI SDK?​

Yes — every /v1/* endpoint is OpenAI-compatible. Point the SDK's base URL at https://api.ecohash.com/v1:

from openai import OpenAI
client = OpenAI(api_key="eco_...", base_url="https://api.ecohash.com/v1")

GPU instances​

How long does a GPU instance run before auto-stopping?​

As long as the estimated_duration_hours you picked at launch (1 hour minimum). At expiry, the instance auto-stops and unused credit hold is refunded. Hit Extend before expiry to keep it running.

How do I access the GPU instance terminal?​

Use the browser terminal. In the console, open Compute → GPU Instances, click into your running instance, and hit the Terminal button. A shell opens in your browser (WebSocket-backed) — no tools to install, you're root inside the container. See Browser terminal for tips (like using tmux for long-running jobs that should survive browser disconnects).

How do I upload files and save them on a cloud drive or shared filesystem?​

A few good options depending on size:

  • Small files — paste them into the browser terminal with cat > my_file.txt <<'EOF' … EOF.
  • Medium / large files from a public URL — inside the terminal, use wget, curl, or huggingface-cli download to pull directly into the mount path (e.g. /workspace for a cloud drive, /shared for a shared filesystem).
  • From Git — git clone inside the terminal.
  • From Jupyter — if your container is Jupyter-based, drag-and-drop uploads work in the file browser panel.
  • Via a cloud bucket — for very large datasets you already have in S3/GCS, use aws s3 cp / gsutil cp inside the instance; our bandwidth to cloud providers is fast.

Whatever path you pick, save under the mounted drive (e.g. /workspace/datasets/... for a cloud drive) — files outside the mount are lost when the instance terminates. See Uploading files for details.

What happens to my files when the instance terminates?​

Files in the container's own filesystem are lost. Files on an attached cloud drive or shared filesystem persist — next time you launch, attach the same drive and everything is still there.

Can I run a Jupyter notebook?​

Yes — if the container image name contains jupyter (like quay.io/jupyter/pytorch-notebook:cuda12-latest), EcoLink auto-provisions a Jupyter URL. See Jupyter access.

I launched but the instance is stuck in pending​

Image pull can take a few minutes for large images. If the pod hasn't become Ready within 15 minutes, the platform's watchdog reconciles the row — either healing it back to running (if a pod is actually running) or marking it failed. If consistently stuck, reach out in #ecolink-support.

My instance was preempted — what does that mean?​

A higher-priority platform workload claimed the GPU temporarily. Your pod was stopped. When capacity frees up, the pod resumes and status returns to running. You get a notification for both events.


User inference​

How is a user inference instance different from a GPU instance?​

GPU instance = development environment. You use it to build or fine-tune a model — installing packages, iterating in a notebook or terminal, watching training runs. It's interactive. Once you have a model checkpoint, save it to a shared filesystem and you can release the GPU instance; the weights persist.

User inference instance = production serving environment. It runs your model checkpoint (from the platform catalog, a HuggingFace repo, or a folder on a shared filesystem) as an OpenAI-compatible HTTP endpoint — ready to be called by your AI application or agent. No terminal access; just API traffic. It's designed to keep running as long as your account has balance, automatically renewing its 24h credit hold every day.

In short: GPU instance ends when you're done iterating. Inference instance runs as long as you keep serving traffic and funding the balance.

How long does a user inference instance run?​

Until your balance runs out. The initial hold covers 24 hours; every 24h the billing worker renews with a new hold if your balance can cover it (or a partial hold if it can't). When balance hits $0, the instance is stopped. See Cost and lifecycle.

Can I choose the regions my inference instance deploys to?​

Not directly — regions and replica count are determined by your registered model's source:

  • HuggingFace-backed or platform-model-based → 2 replicas across 2 regions (redundancy + failover)
  • Shared-filesystem-backed → 1 replica in the filesystem's region (weights pinned to that region)

Is there autoscaling for user inference?​

Not yet. Replica count is fixed at deploy time. Autoscaling is planned.

Can I use my model with the OpenAI SDK?​

Yes, if the container is OpenAI-compatible (default). Pass model: "<name>:<instance_id>" in requests. See Calling your endpoint.


Billing​

How am I charged?​

  • Per-request for API calls (tokens, images, audio-seconds, video-seconds)
  • Per-GPU-hour for GPU instances, clusters, and user inference
  • Per-GB-month (billed daily) for storage

Every product shows its current rate in the console at the point you launch it. See How billing works.

What's a credit hold?​

GPU and inference resources reserve credit upfront — you can't launch if your balance can't cover the first period. Unused portion is refunded when the resource stops. See How billing works.

What happens when my balance hits $0?​

  • API calls: return 402 Payment Required
  • GPU instances / clusters: terminated immediately
  • User inference instances: terminated on the next 24h cycle boundary
  • Storage: suspended (not deleted). Restoring the balance reattaches the storage.

How do I see what I've spent?​

Console → Billing. Shows current balance, recent transactions (every deduction and refund), and per-model API usage breakdown. See Balance and transactions.


Still stuck?​

Ping the #ecolink-support Slack channel. For API issues, include the x-ecolink-request-id response header. For console issues, include the resource ID.

Your privacy choices

Essential cookies are always on. You can change these choices at any time.