Renting a GPU

This guide takes you from an empty wallet to a running workload, then back out with your refund.

What you need

  • A Solana wallet that supports message signing: Phantom, Solflare or Backpack.
  • A little SOL for transaction fees. Fractions of a cent per transaction; 0.05 SOL lasts a long time.
  • USDC or $KILN to pay with. Every GPU is priced in USD; you choose which one to pay in at checkout.

1. Choose a listing

Open Rent. Each row is a listing:

Column Meaning
GPU Number and model of GPUs you get
Region Where the provider says the machine is
Price / hr Hourly price in USD
Verified hours served Total time this provider has proven on-chain, a rough reputation signal
Busy Whether someone else has a lease open on it

Pick one and click Select.

2. Fund the lease

Choose how many hours you want (1 to 2,160) with the − and + buttons, the quick picks, or by typing. The deposit, price × hours, updates as you go.

Then choose how to pay:

  • USDC: the deposit moves from your wallet into escrow.
  • $KILN: the page shows a live quote for exactly how much $KILN covers the deposit. One transaction swaps that $KILN to USDC through Jupiter and opens the lease. Up to 1% price movement is allowed; if the price moves more, the transaction is cancelled and nothing is spent. Any few cents of extra USDC stay in your wallet.

Click Open lease and approve the transaction in your wallet.

You're not committing to spend all of it. The provider is paid only for proven time, and the rest comes back when you close. Funding a few extra hours costs nothing if you don't use them.

3. Connect to the machine

In Your leases, click Manage, then Connect to machine. Your wallet asks you to sign a message: this proves you own the lease. It is not a transaction and costs nothing.

4. Launch a workload

Choose a template:

Template What you get How you connect
Jupyter + PyTorch JupyterLab with PyTorch and CUDA 12 (quay.io/jupyter/pytorch-notebook:cuda12-latest) Open button, with your access token built in
SSH machine Ubuntu with your SSH key and passwordless sudo (lscr.io/linuxserver/openssh-server) Copy the ssh -p <port> kiln@<host> command
LLM API (vLLM) Any Hugging Face model behind an OpenAI-compatible API (vllm/vllm-openai) Base URL and API key to copy into your client
Custom image Any public Docker image, your ports, command and environment Links for each exposed port

Click Launch. Status moves from Downloading image to Starting to Running. Large images such as vLLM can take several minutes to download the first time.

The GPU is attached to your container. Run nvidia-smi inside it to check.

5. While it runs

  • Status updates every few seconds.
  • Show logs fetches the container's latest output.
  • Stop workload stops the container and the meter: no container, no heartbeats, no pay.
  • Launch again replaces the container, for example to try a different image.

Leases are visible to everyone on the live network, so you can watch your machine's heartbeats.

6. Close and get your refund

Click Close & refund whenever you're done. One transaction:

  1. pays the provider for any proven time not yet settled
  2. returns everything else in escrow to your wallet, in USDC
  3. returns the small account rent deposits to you

The provider's node removes your container shortly after.

Tips

  • Save your work. When a lease ends, the container is deleted with everything in it. Push results to Git, a bucket or Hugging Face as you go.
  • Don't put secrets in the container you couldn't afford to lose. The provider controls the hardware. See Security.
  • Busy machine? If launching says the GPU is running someone else's workload, close your lease straight away for a full refund and pick another listing.

Costs at a glance

  • Deposit: price × hours in USDC, held in escrow (paid in USDC, or in $KILN converted at checkout).
  • Charged: proven seconds × price ÷ 3600.
  • Refunded: everything else, in USDC.
  • Network fees: a few thousandths of a cent per transaction, in SOL.

See Payments and escrow for worked examples.

Previous← FAQNextProviding a GPU →