Technical
Security
Security is fundamental to AutoPilot. Here is a comprehensive overview of the security model, protections in place, and the principles that keep user funds safe.
Security Principles
๐
Non-Custodial by Design
AutoPilot never holds your private keys. Your main wallet is controlled entirely by Freighter. AutoPilot only stores vault keys (which are system-generated accounts for holding swept funds) โ not your primary wallet key.
โ๏ธ
Signature-Based Authentication
Login requires signing a one-time challenge message with your Freighter wallet. This proves ownership without sharing your private key. No password is ever stored. JWT tokens are short-lived (24h) and signed server-side.
๐ก๏ธ
Spending Limits
Users can configure daily and weekly XLM spending caps in their account settings. The AutoPilot engine checks Redis-tracked rolling windows before executing any rule. Rules that would exceed your limits are blocked automatically.
๐
Deduplication Guard
Every incoming Stellar payment has a unique Horizon ID. The processor checks this ID against the AutomatedTransaction table before firing any rule. Duplicate payment events (which can occur with SSE reconnects) are silently skipped.
โก
Redis Failure Tolerance
If the Upstash Redis instance is unavailable or over its rate limit, AutoPilot degrades gracefully. Spending limit checks default to 'allowed', cursor tracking is skipped, and all rule execution continues via direct PostgreSQL queries.
๐
Server-Side Rule Validation
Rules cannot be injected by the client. The AI output is validated server-side before any rule is saved โ action must be one of 'save', 'invest', or 'buffer'. Only XLM is supported on testnet. Amount must be a positive number.
Automated Security Checks
Frontend CI
ESLint + TypeScript type checks on every push
Backend CI
TypeScript compile check + tsup bundle
Contract CI
Soroban contract Rust build with wasm32 target
Security Audit
npm audit on both frontend and backend
Testnet Notice
โ ๏ธ AutoPilot currently runs on Stellar Testnet only.
All XLM used in AutoPilot is Testnet XLM with no real monetary value. The platform is in beta and has not undergone a formal third-party security audit. Do not connect a Mainnet wallet or attempt to use real funds with this application.
Explore the complete REST API documentation.
API Reference