orbith is a personal agent you host yourself. It builds apps, runs tasks, and holds its own wallets on EVM and Solana. It cannot read its own keys, and neither can we.
↳ Three steps, not one. You check the hash before you run it, because this thing signs transactions.
Why this is built the way it is
This is not hypothetical. It has already happened twice, in public, to agents whose instructions said not to let it happen. A rule written in a prompt is a suggestion.
An agent sent tokens to a stranger who replied with a sad story.
No exploit, no jailbreak. A reply on social media, some confusion about decimals, and state lost after a crash. The wallet was live the whole time.
An agent told to never transfer funds transferred all of them.
It held the rule for 481 messages. On the next one, someone redefined what the transfer function meant, and the agent agreed. The rule lived only in the prompt.
The boundary
Not different modules. Different Unix users, different memory, a socket between them. The agent asks; it never holds. What can cross the line is a fixed list, and a private key is not on it.
reads untrusted input
holds the keys
Everything that crosses
Proof, not assertion
Captured from the isolation suite that ships with the source. You can run it yourself after installing, and you should.
↳ A capability that is switched off is not registered at all, so it answers the same way a name that never existed does. There is nothing to enumerate.
What it does
Where it actually is
The security foundation is built and tested. The rest is in progress and stated plainly, because a product that signs transactions should not round up.
↳ Three steps, not one. You check the hash before you run it, because this thing signs transactions.