Sentinel, from ZeroCopy Systems

Sign trades inside a hardware enclave, in your own AWS account.

Sentinel keeps a trading key inside an AWS Nitro Enclave, where nothing on the host can read it. The signature itself takes about 40 microseconds; the round trip into the enclave and back, about 120. You run it, so we never hold your keys.

Where it stands: a working prototype. It hasn’t yet been measured inside an enclave or used in production, and we’re looking for a first pilot to do both with.

How a signature is made

Everything runs on one machine in your AWS account. The key never leaves the enclave.

How a signature is madeInside your AWS account, on one EC2 instance: your trading process sends a request to the Sentinel host process, which passes it over vsock, inside an encrypted session, to a Nitro Enclave. The enclave reads the request, checks it against your policy and signs it with a key that never leaves the enclave. The signature comes back the same way.Your AWS accountOne EC2 instance (the parent)Your tradingprocessSentinelhostNitro Enclaveno disk, no network, no shell1Read the request in place2Check it against your policy3Sign with the keyvsockencryptedrequest, thensignature backHow a signature is madeYour trading process sends a request to the Sentinel host on the same EC2 instance. The host passes it over vsock, encrypted, to a Nitro Enclave, which reads it, checks it against your policy and signs it with a key that never leaves the enclave. The signature comes back the same way.Your AWS accountOne EC2 instance (the parent)Your trading processSentinel hostvsock, encryptedNitro Enclaveno disk, no network, no shell1Read the request in place2Check it against your policy3Sign with the keyThe signature goes back the wayit came. The key never does.
The only way into the enclave is vsock, inside an encrypted session. Each step, explained →

The numbers, briefly

Every figure on this site says what kind it is: measured by us, published by someone else, or our estimate.

Measured
39.1µs
median time to sign, over 200,000 signatures
Apple M2 laptop, 8 November 2026. 41.2 µs on a shared Linux runner. Signing alone.
Measured
97.7%
of those signatures within 5 µs of the median
The work is the same every time, so the time barely moves.
Estimate
≈120µs
one signature through a Nitro Enclave and back
Not measured yet: our signing time plus a published vsock figure.

Where the old 42 µs and 62 µs came from, and how these were measured →

What it does

The key stays in the enclave

Sentinel creates the key inside a Nitro Enclave: a separate virtual machine with no disk, no network and no shell, whose memory even the host’s root user can’t read. Requests go in and signatures come out. No request returns the key.

The security model →

Your rules, next to the key

A policy engine for order size, signing rate, allowed contracts and chains, and trading hours is built and tested. Applying it to each real transaction is the next piece of work, and we say so plainly.

The policy engine →

It stops when timing goes wrong

The enclave watches its own timing. When jitter stays above a set limit, it refuses new sessions, and it recovers by itself once things are steady again.

The kill switch →

Work with us

Two ways in, both scoped with you before anything starts.

A pilot

We bring Sentinel up in your AWS account with you, measure it on your instances and your workload, and you keep every number. It’s how the estimate on this site becomes a measurement.

Talk to us →

An engineering sprint

A fixed-price, fixed-scope look at your execution path, your key custody or your enclave, with a written report and the fixes.

Talk to us →

zcp, free and open source

An eBPF tool that shows where a Linux trading process waits: on the scheduler, or on the network. Apache-2.0, with signed binaries.

About zcp →