sats for compute

Pay sats.
Get attested compute.

No credit card. No KYC. No middleman. Send bitcoin, get a fresh TDX-attested DevOpsDefender node bound to your GitHub identity — or a sealed oracle from your public workload repo. The seal is provable from outside.

Open a claim  → What's the seal?

canonical operator at satsforcompute.com · forkable · MIT

What you get.

One 50,000-sat payment buys 24 hours on a fresh confidential VM. Pick the mode that matches what you’re running:

customer deploy

Bring your own workload

Your GitHub OIDC identity is bound to a fresh agent via POST /owner. You get full /deploy, /exec, /logs, and a browser-shell — the same surface DD ops uses, scoped to your org for the duration of the claim.

For: dev shells, GPU jobs, any general-purpose compute.

confidential

Sealed oracle

We boot the agent in confidential mode and deploy your workload.json from a public GitHub repo you specify. /deploy, /exec, and /owner aren’t registered. Nobody (not us, not you) can change the running code post-boot. The TDX quote proves it.

For: oracles, bot-oracles, any provable-by-third-party workload.

How it works.

  1. 01

    Open a claim

    Call the tool API, get back a Claim manifest + the GitHub issue number that tracks your purchase end-to-end.

    # customer-deploy mode:
    curl -X POST https://bot.satsforcompute.com/tools/claim.create \
      -H "Authorization: Bearer $TOK" \
      -d '{"mode":"customer_deploy","customer_owner":"alice"}'
    
    # confidential mode:
    curl -X POST https://bot.satsforcompute.com/tools/claim.create \
      -H "Authorization: Bearer $TOK" \
      -d '{"mode":"confidential","workload_repo":"alice/my-oracle"}'
  2. 02

    Pay the invoice

    Get a BIP21 URI for your wallet. Paste it; pay 50,000 sats. The message= field carries your claim id so your wallet shows what you’re paying for.

    curl -X POST https://bot.satsforcompute.com/tools/btc.invoice \
      -H "Authorization: Bearer $TOK" \
      -d '{"issue_number": 42}'
    
    # → { "bip21_uri": "bitcoin:bc1q...?amount=0.00050000&...",
    #       "amount_sats": 50000, ... }
  3. 03

    Watch the issue auto-progress

    The bot polls mempool.space every 30 seconds. As soon as your tx hits the mempool the claim flips to btc_mempool_seen; on 1-conf it goes active. Your agent’s public hostname is posted to the issue. Top-ups extend the clock.

Pricing.

Flat. Honest. No tiers.

50,000 sats One 24-hour block on a fresh confidential VM.
+50,000 sats Each additional 24 hours. Top up before paid_until and time stacks.
0-conf Optimistic activation: as soon as your tx hits the mempool, the agent is yours. 1-conf settles the credit.
3 hours Pending window. If your tx never confirms (replaced, fee-stuck, etc.) the bot reclaims the node.

Billing lives in your claim’s GitHub issue body as a JSON manifest (schema s12e.claim.v1). Read it, audit it, contest it — the source of truth is on-chain bitcoin and on-issue manifest, not a hidden dashboard.

Verify your node.

Once your claim is active, the bot posts your agent’s public hostname. Three commands prove what you rented:

# 1. The TDX quote — Intel-signed.
curl https://<your-agent>.devopsdefender.com/health \
  | jq '.noise.quote_b64'

# 2. The trust profile.
curl https://<your-agent>.devopsdefender.com/health \
  | jq '{ confidential_mode, taint_reasons, fleet_owner, agent_owner }'

# 3. (confidential mode) cross-check the workload measurement
#    against your repo's commit. If it matches, your code is
#    running and provably can't be changed by us.

The /health endpoint is public — no operator cooperation required. Verification details →

Run your own operator.

Sats for Compute is a forkable example. The bot is open source, the substrate (DevOpsDefender) is open source, and the spec lives next to the code.

Open a claim.

The bot is at bot.satsforcompute.com. The proof is one curl away.

Get started  → What's the seal?