What is Project Teton?
Project Teton is a verifiable compute layer for Solana. It binds Ed25519 signing keys to hardware-isolated enclaves so a protocol can prove that a signature came from measured code on attested silicon.
Private keys are generated inside CPU-encrypted memory. The host operating system and a human operator cannot extract them. Signatures execute only under an attested binary measurement.
Value proposition
Section titled “Value proposition”Project Teton eliminates hot-key compromise for high-throughput DeFi, tokenized real-world assets, institutional custody, and decentralized oracles.
| Deliverable | Role |
|---|---|
| On-chain verifier | AMD VCEK / P-384, Google JWT, AWS Nitro COSE Sign1 |
| Policy and replay | Measurement allowlist, SlotHashes freshness, UsedNonceAccount |
| Client SDKs | Rust teton-sdk, TypeScript @the-ruby-group/teton, CPI helpers |
| Enclave runtime | teton-sidecar daemon, teton-cli, Docker image |
| Documentation | This portal (@spec TETON-DOCS-001) |
Hardware trust roots
Section titled “Hardware trust roots”Teton verifies two silicon roots:
| Root | Platform | Attestation |
|---|---|---|
| AMD SEV-SNP | GCE Confidential VM | 1,184-byte report, ECDSA P-384, ARK → ASK → VCEK |
| AWS Nitro Enclaves | Nitro parent + EIF | COSE Sign1 / CBOR, ECDSA P-384, AWS Nitro Root CA |
Google Confidential Space adds an OIDC JWT (verify_google_jwt) that binds eat_nonce and image_digest to the same Mode A / Mode B session model.
See the threat model for isolation boundaries.
Dual modality
Section titled “Dual modality”| Mode | Instruction | Consumer cost after attest |
|---|---|---|
| A — Stateful | verify_and_register |
Native Ed25519. PDA check ≤ 1,500 CUs. P-384 runs once per session. |
| B — Atomic | verify_atomic_with_nonce |
One transaction. Header is 80 bytes on the wire. Nonce PDA blocks replay. |
Mode A TTL is ATTESTATION_TTL_SLOTS = 216_000 (~24 hours at 400 ms). Details: Mode A and Mode B.
Live program
Section titled “Live program”| Item | Value |
|---|---|
| Program id | EKfHCTnsbRQfURsdmzkmuoxUx7DVt8WsQ5X7t49ZZZh |
| Crates | teton-verifier, teton-cpi (declare_id matches) |
| Cluster | Solana Devnet |
| Compile target | SBPFv3 (e_flags = 0x3, @spec TETON-DEPLOY-001) |
Stage 2 attestation stays under 550,000 CUs (@spec TETON-PERF-001, TETON-PERF-002).
Workspace map
Section titled “Workspace map”| Path | Purpose |
|---|---|
programs/teton-verifier |
On-chain verifier |
crates/teton-core |
no_std report types |
crates/teton-crypto |
P-384, VCEK, JWT, Nitro CBOR |
crates/teton-cpi |
Consumer helpers |
crates/teton-sdk |
Rust builders |
sdks/typescript |
@the-ruby-group/teton |
bins/teton-sidecar |
In-enclave daemon |
bins/teton-cli |
Proof-of-enclave CLI |
Next steps
Section titled “Next steps”- Read the threat model.
- Pick Mode A or Mode B.
- Wire Rust CPI or the TypeScript SDK.
- Run the sidecar inside the enclave.