Self-Hosted Orbs
You can now self-host orbs. You provide the compute and Amp turns it into orbs.
If you have compute that can
- quickly start new machines
- put them to sleep and resume them equally fast
- keep them around for a long time
- scale them to zero, so no one has to worry about having a lot of them sleeping
then you are now able to replicate the orb experience within your own infrastructure.
How It Works#
You run amp orb provider inside your infrastructure. The orb provider then reaches out to Amp and waits for requests to spawn, pause, or delete orbs. Like this:

How you satisfy those requests is up to you, because amp orb provider will dispatch the requests for orb operations (spawn to create or resume orbs, pause, and delete) to a program that you provide, like so:
$ amp orb provider ./dispatch.sh
In that program, you can do whatever works best for your infrastructure. Here are some illustrative examples:
Docker E2B K8s Apple containers Modal Vercel Daytona exe.dev
#!/usr/bin/env bash
# dispatch.sh
case "" in
spawn)
||
;;
pause)
;;
delete)
;;
esac
Install the E2B CLI and the e2b package, set E2B_API_KEY, and build a template:
#!/usr/bin/env node
// dispatch.mjs
const = process.env
const metadata =
const = await Sandbox..
#!/usr/bin/env bash
# dispatch.sh
# "$ORB_IMAGE" is the Amp orb image.
ids=
case "" in
spawn)
if ; then
else
fi
# A bare --env NAME copies the value from the host.
;;
pause)
if ; then
fi
;;
delete)
if ; then
fi
;;
*)
;;
esac
#!/usr/bin/env python3
# dispatch.py
# Needs `pip install modal` plus MODAL_TOKEN_ID and MODAL_TOKEN_SECRET.
=
=
=
=
=
= None
:
:
# Modal has no pause, so resume from the last snapshot.
=
=
=
=
# Modal execs run as root; point bootstrap at the image user's home.
=
:
= .
=
:
#!/usr/bin/env node
// dispatch.mjs
const = process.env
const credentials =
#!/usr/bin/env python3
# dispatch.py
=
=
=
= None
=
!= :
=
=
== and :
== and :
#!/usr/bin/env bash
# dispatch.sh
# Pause/resume currently requires access enabled by exe.dev support.
status=
case "" in
spawn)
if ; then
elif ; then
fi
{
if ; then
fi
} |
;;
pause)
if ; then
fi
;;
delete)
if ; then
fi
;;
esac
Use Amp's Helm chart to run orbs on GKE, EKS, or AKS. Under the hood, it runs amp orb provider with a supplied dispatch program that handles spawning, pausing, and deleting orbs. You don't need to write a dispatch script yourself.
- Create a custom orb provider in your Amp workspace and copy its token.
- Prepare a dedicated cluster with worker nodes and snapshot storage. Paused orbs are saved to storage and can resume on another worker node.
- Download the Kubernetes setup files. The ZIP includes
gke.md,eks.md, andaks.mdwith the setup and Helm commands for each cloud, plus Terraform examples. Use the instructions for your cloud to install the chart and test your first orb.
These examples use Amp's pre-built ORB_IMAGE, which includes the Amp CLI and other dependencies. You can use a different Linux image as long as you can start amp orb bootstrap in it (and it has the dependencies for other features). That process connects the orb to Amp so Amp can set up the environment and run the agent's tools.
Once you have your dispatch program, go to your workspace settings (individuals can create a workspace for free), add a Custom Orb Provider, copy the token, and run amp orb provider:
$ chmod +x dispatch.sh
$ export AMP_ORB_PROVIDER_TOKEN="<copied-token>"
$ amp orb provider ./dispatch.sh
Once that runs, open ampcode.com or the Amp macOS or iOS applications and create a new thread. Expand Orb and choose your provider under Self-Hosted.


And then submit your prompt. Amp will send a request to your provider to spawn an orb, clone your repository, run your setup files, and start the agent.
And thus begins, as they say, orbin' time. Self-hosted.
You Probably Shouldn't Self-Host Orbs#
All that said: you probably shouldn't self-host orbs.
We built self-hosted orbs for enterprises that can't use the orbs we host, because regulations might restrict where their code runs, because they need access to internal networks, or because they need custom hardware attached.
If you're on an Enterprise plan, let us know and we'll help you set it up.
That's why the interface is so open: we want to support all the infrastructure our enterprise customers might have, as long as it meets the qualitative requirements above (fast-to-start, resumable machines that scale to zero, etc.). But that also means we only support our end of the contract, not every possible piece of infrastructure you can plug in.
Pricing#
Self-hosted orbs are free for individuals and teams. Enterprises will be charged standard orb pricing starting October 29. Until then, self-hosted orbs are free for every workspace.
Getting Started#
For more information on self-hosted orbs and how to run self-hosted orbs on Kubernetes, see the documentation.