Trade anywhere. Keys stay home.
FortkeyLink presents your enclave wallets as a hardware wallet. Traders connect their usual browser extensions and trade any DEX, every order policy-checked.
FortkeyLink ready
Emulating a hardware device over USB
How FortkeyLink works
Nothing new to learn. FortkeyLink works in any wallet that supports a hardware device, on any DEX your traders already use.
How FortkeyLink works
FortkeyLink ready
Emulating a hardware device over USB
Every order checked before it signs.
The same policy engine that guards the algorithmic flow runs on every manual order, inside the attested enclave.
- Same rules for manual and algorithmic
- Signed inside the attested enclave
- No private key ever touches the trader's machine

No device, no friction.
No hardware to ship, lose, or pass around. On agent venues, approve once and trade freely.
- Nothing physical to manage
- Approve once on agent venues
- Sessions visible and revocable in the console

One wallet, every mode.
HFT, API, and manual trading run on the same keys, under the same policies. Trade manually through FortkeyLink or programmatically through the Rust SDK and REST API, with nothing to reconcile between them.
- Rust SDK and REST API for bots
- One set of keys and policies across every mode
- Nothing to migrate between manual and algorithmic
use fortkey_hft_sdk::{bytes_to_hex, BotTrader, TxKind, UserId};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Challenge-response auth with your bot key. No static API keys.
let pem = std::fs::read_to_string("bot-key.pem")?;
let mut sdk = BotTrader::new(pem.trim(), UserId::new("us-mm-eu-01")?)?;
sdk.login().await?;
// Pin an enclave co-located with your venue, then open a wallet session.
sdk.use_signing_instance("eu-central-1", None, None, None).await?;
sdk.start_wallet_session("mm-eu-perps", "eu-central-1").await?;
// Your strategy builds the order; Fortkey signs it inside the enclave.
let order: Vec<u8> = build_order();
let sig = sdk.sign_tx("mm-eu-perps", &order, TxKind::EvmEip712).await?;
println!("signature: {}", bytes_to_hex(&sig.to_der()?));
sdk.logout().await?;
Ok(())
}A real-world use case
A trader connected MetaMask and nothing changed
A discretionary trader added FortkeyLink as a hardware device in MetaMask and traded a perp venue exactly as before. Every order passed the desk's policy inside the enclave, and the keys never left.
Hardware-device compatibility
Works in any wallet that supports a hardware device.
Any DEX
Hyperliquid, Drift, or any DEX your traders use.
Policy-checked orders
Every manual order runs through the policy engine.
Enclave signing
Signatures happen inside the attested enclave.
One-time venue approvals
Approve once on agent venues, then trade freely.
Console visibility
Every session visible and revocable from the console.