Build with AI
Working with Cursor, Claude Code, or another coding agent? Paste this prompt to give it the canonical Fortkey context. It tells the agent where the source of truth lives and how the integration works.
Agent prompt
Canonical reference: https://www.fortkey.io/llms.txt
Fetch that file first. It indexes the full Fortkey documentation (https://www.fortkey.io/developers). If anything below looks outdated or contradicts those docs, the docs win. Report staleness to the user.
You are integrating with Fortkey: self-custody signing infrastructure for trading firms. Goal: authenticate a bot user and request policy-checked signatures.
Credentials: the user needs a Fortkey workspace (sandbox signup: https://release.crypdefi.eu/signup), a bot user_id, the bot's PEM private key (an auth key, not a wallet key), and a wallet_id. Read all of these from environment variables. Never hardcode or log key material.
Authentication is challenge-response; there are no static API keys. POST /auth/login with {user_id, auth_method: "cra"} returns a one-time challenge; sign it with the bot's private key; POST /auth/cra exchanges the signature for a session token. The Rust SDK does this automatically via bot.login(true).
Signing: POST /sign with wallet_id and the unsigned transaction hex. The vault decodes the payload, checks policy, and returns a signature. A rejection names the policy rule that failed: surface it to the user, do not retry blindly.
Endpoint hostnames are deployment-specific and provided during onboarding (one main API plus latency-routed signing endpoints).
Details: /developers/authentication, /developers/quickstart-bot, /developers/policy-engine.Need credentials? Create a sandbox workspace and set up a bot user first.