# TRA > An open-source Python package and command line (tra): autonomous trading agents with deterministic execution. Language model agents read the market and propose a trade; fixed, tested rules compute every figure, price the round trip, size the position and decide whether an order goes out. It runs in a sandbox by default, trades linear perpetuals, spot pairs, stock perpetuals, tokenized stocks and prediction market outcomes on the exchanges ccxt supports, and works with Anthropic, OpenAI, Google Gemini, Groq, DeepSeek, OpenRouter, Ollama and other model providers. MIT licensed. Current release: 0.10.2. Install: uv tool install 'bitra[ccxt,openai,anthropic,google,data]' Command: tra. Python 3.11 or newer. Website: https://www.bijectivelabs.dev/open-source Source: https://github.com/BijectiveLabs/bitra Package: https://pypi.org/project/bitra/ ## Start - [Introduction](https://docs.bijectivelabs.dev/opensource/index.md): What TRA is: autonomous trading agents with deterministic execution, where language models propose and fixed, tested rules price, size and send. What it does, what it never lets a model do, and where to start. - [Quick start](https://docs.bijectivelabs.dev/opensource/quick-start.md): Install TRA, make a desk and run a first cycle. - [What you see](https://docs.bijectivelabs.dev/opensource/what-you-see.md): The screens of a desk, in the order they appear. - [Why it is built this way](https://docs.bijectivelabs.dev/opensource/why.md): The documented failures this software is built against: language models trading real money, wrong numbers in financial answers, instructions hidden in data, agents with authority over funds, rules a model steps past or makes up, and automation without pre-trade controls. Each with its source and what the software does about it. ## How it works - [The cycle](https://docs.bijectivelabs.dev/opensource/cycle.md): One cycle of TRA, from market data to an order intent or a refusal with a reason, and how to run it on a schedule with tra run. - [Agents](https://docs.bijectivelabs.dev/opensource/agents.md): The agent roster in TRA: what each role reads, the closed schema it answers in, and why no agent can loosen a limit, size a trade or send an order. - [Data sources](https://docs.bijectivelabs.dev/opensource/sources.md): Where the macro, on-chain and sentiment analysts' figures come from, how to declare and refresh series, and how to see the age of every figure. - [Your own data](https://docs.bijectivelabs.dev/opensource/your-data.md): Bringing your own data to TRA: trade history, dated series and live feeds from a vendor, in CSV, JSON or Parquet, normalised and checked before any agent reads it. - [Capital, orders and positions](https://docs.bijectivelabs.dev/opensource/capital.md): What venue mode does with your money: the account reads, the checks before an order, position sizing, leverage and what happens after a fill, all through ccxt. - [Sizing from the record](https://docs.bijectivelabs.dev/opensource/sizing.md): How a desk's own finished trades lower its risk per trade: the Kelly fraction from the record, a seeded Monte Carlo of the drawdown ahead, and the excursion of every trade, all computed by code and repeatable to the digit. - [Venues](https://docs.bijectivelabs.dev/opensource/venues.md): Which exchanges work with TRA today through ccxt, how to add one, and the plugin contract for archived data, live feeds and orders. - [Exchange accounts and keys](https://docs.bijectivelabs.dev/opensource/exchange-keys.md): How to open an exchange's practice environment and make an API key for TRA, venue by venue, for demo, testnet and live trading, with the settings each exchange needs. - [For exchanges](https://docs.bijectivelabs.dev/opensource/for-exchanges.md): For exchanges: how TRA reaches a venue, what is verified before a venue is listed as run end to end, how orders identify themselves, and how to reach Bijective about integration. ## Models - [Working with language models](https://docs.bijectivelabs.dev/opensource/llm.md): How TRA works with language models without an orchestration framework: schemas, retries, caching, budgets and provider failover. - [Model providers](https://docs.bijectivelabs.dev/opensource/providers.md): Supported model providers (Anthropic, OpenAI, Google Gemini, Groq, DeepSeek, xAI, Mistral, OpenRouter, Qwen, Ollama, local servers), their keys, endpoints and default models. ## Research and testing - [The data gate](https://docs.bijectivelabs.dev/opensource/data.md): The data gate: the canonical trade record, how venue archives are normalised, and why every unreadable row stops the run instead of being dropped. - [The trading agent](https://docs.bijectivelabs.dev/opensource/trading.md): The trading agent runtime: replay, paper, shadow and canary tiers, the controls in front of every order, and how closed trades feed back into research. - [The live tier](https://docs.bijectivelabs.dev/opensource/live.md): The live tier: real orders at the canary tier through ccxt, on the same client venue mode uses, with hard caps, reduce-only exits and the security checks that run as tests. - [The falsification chain](https://docs.bijectivelabs.dev/opensource/chain.md): The falsification chain: the ordered, cheapest-first tests a trading idea must pass, from the cost floor to pre-registration and the live verdict. - [The kill ledger](https://docs.bijectivelabs.dev/opensource/ledger.md): The kill ledger: how every tested idea is recorded as falsified, closed, not proven or open, and on which axis it ended. - [Execution realism](https://docs.bijectivelabs.dev/opensource/execution.md): Execution realism: the cost identity, fees, spread, slippage and funding, and the measured assumptions that separate a backtest from a live result. - [The agent](https://docs.bijectivelabs.dev/opensource/agent.md): How the research agent turns a plain-language trading idea into one of five recorded outcomes, using language models at three points and the system's gates everywhere else. - [The MCP server](https://docs.bijectivelabs.dev/opensource/mcp.md): The MCP server: read-only tools that let any agent host call the research gates of TRA over stdio. ## Reference - [Command line](https://docs.bijectivelabs.dev/opensource/commands.md): Every tra command and what it does. - [Architecture](https://docs.bijectivelabs.dev/opensource/architecture.md): Package layout, dependency direction and the file formats that form the contract of TRA. - [Boundaries](https://docs.bijectivelabs.dev/opensource/boundaries.md): What TRA guarantees and the tests that hold it, and what is not built yet and how a contribution could add it. - [Liability](https://docs.bijectivelabs.dev/opensource/liability.md): Where responsibility sits when you run TRA: the sandbox default, the keys and mandate you supply, and the MIT License terms. - [Security](https://docs.bijectivelabs.dev/opensource/security.md): What a security report covers, and how to send one. - [Contributing](https://docs.bijectivelabs.dev/opensource/contributing.md): How to set up, what a pull request must pass, and the standards the code is held to. - [Changelog](https://github.com/BijectiveLabs/bitra/blob/master/CHANGELOG.md) ## Optional - [Full documentation as one file](https://docs.bijectivelabs.dev/llms-full.txt)