We ran an AI trading desk for 19 cents, and every payment settled onchain

Trading is hard. In 2025, 79% of actively managed US large-cap funds failed to beat the market, according to SPIVA. These are professional funds with access to nearly every data source, teams of quantitative analysts, and many hours to try.
So why is predicting the market so hard? It's extremely difficult to say for sure, but there are some very reasonable hypotheses that most people point to:
- Information is very fragmented, actionable data is spread across exchanges, filings, news, and social feeds.
- A team can only read and analyze so much in a day, and markets, digital assets especially, never stop moving.
- By the time a person sees and processes a piece of information, odds are the market has already priced that intel in.
- We're human, fear and greed will always get in the way of purely rational decisions.
Enter TradingAgents, a research framework from Yijia Xiao, Edward Sun, Di Luo, and Wei Wang (paper, code). It models a trading firm as a team of LLM agents, each with its own job, to solve or at least ease some of these problems. The framework isn’t new, especially by AI standards, but it is one of the most popular open source AI trading projects around, with over 100,000 stars on GitHub as of the writing of this blog.
In this post we'll walk through this implementation, explain the main concepts, show what happens under the hood, and hopefully illustrate how you can run your own experiments.
We're also going to show you how you can use Anchorage Digital Bank, N.A.'s Agentic Banking capabilities to run the full experiment end to end, paying onchain for the inference that fuels the desk and for the data we bought for our analysis.
We're not trying to find out whether our desk makes good trades, two runs can't tell you that (for a sense of how you'd even start to evaluate that, see LiveTradeBench). What we want to achieve is showing how easy it is to run an experiment like this yourself.
The desk
The paper models a trading firm as five teams of LLM agents: analysts, researchers, a trader, a risk team, and a portfolio manager.
The authors argue that most frameworks before theirs fall short in one of two ways. Either a single agent does everything, or several agents gather data without being organized the way a real trading firm is. And when agents do talk to each other, they mostly do it in long free-form chats, where details get lost as the conversation grows. Their solution to both of these problems is to try to copy how a real firm works, specialists who each own one specific job, structured reports handed from one team to the next, and debate only where disagreement is useful.
The agents talk in two ways. Analysts hand off written reports, while the researchers and the risk analysts argue in open debate. Everything else stays structured. To keep costs down, the desk mixes two kinds of models, fast, cheap ones for reading data and summarizing, and a stronger reasoning model for the two calls that matter most, the research manager's plan and the portfolio manager's decision.
The authors also mention a very important point to keep in mind. Every prediction takes about a dozen model sessions with a considerable amount of tool calls each, which is why they backtested only three months, "due to intensive LLM and tool use." A desk like this doesn't run for free, and that's where Anchorage Digital Bank’s Agentic Banking comes in.
The tool
Anchorage Digital Bank’s Agentic Banking lets a company give each agent its own way to pay, under KYA (Know Your Agent) rules the company sets. For our desk that meant:
- A budget per team. Each team runs as its own agent, with its own API key and its own budget, and all of them sit under one balance for the whole organization. A team can't spend past its cap, and the desk can't spend past the organization's.
- Pay per call, onchain. Every model call and every data purchase is a separate stablecoin payment over x402 that settles onchain.
- Screened merchants only. Agents can pay only merchants Anchorage Digital Bank has reviewed and approved, and each budget can narrow that to a short allowlist. So you can be assured that your agent will only spend your money with merchants you want it to.
You might ask why agents should transact with onchain dollars? Stablecoins move 24/7/365, settle in seconds, and split into amounts as small as a tenth of a cent (something card payments aren't built for), so an agent can pay per call. And since a merchant can ask for payment right in its HTTP response, an agent can pay for a service it has never used without signing up, handing over a card, or keeping a parked prepaid balance within each service you might want to use.
With Anchorage Digital Bank, the agent never holds your money. Your funds remain securely custodied at Anchorage Digital Bank, America’s first federally chartered crypto bank, and every payment is executed only after passing budget checks and receiving the required authorizations.
You also don't have to think about chains, networks, or balances. Anchorage Digital Bank handles that, paying on Solana or Base from the same account, so your agents can focus on their work, with the security and compliance of an OCC-chartered bank behind every payment.
Setting up the desk
As we mentioned above, the paper splits the desk into five teams, each with its own responsibility and its own appetite for tokens. That sets up very nicely for a per-team agent split.
Setting up each agent is very easy, just choose a name, a budget and a merchant allowlist. For merchants, every agent got BlockRun, a pay-per-call AI gateway that accepts x402 payments and allows us to run the models through Anchorage Digital Bank's inference endpoint. The Desk Analyst agent also got Mycelia Signal, which sells market data where every response carries a cryptographic signature. We'll come back to why that matters below.



After creating our agents, we minted an API key on each agent's page. That key is what enables inference calls, and it's tied to that particular agent's budget, so a call made with the research agent key can only spend the research team's money.

There's a catch, though. The stock TradingAgents code takes only one inference API key passed in as an environment variable, so out of the box, every team would bill the same agent. That can work, but we'd see the desk as a single spender, losing the ability to granularly see which agent spent how much on what. Very importantly, we wouldn't be able to cap one agent's budget without capping them all.
So we wrote a small patch in this fork of the codebase that gives each team its own key, a very simple change that allows us to fully control every member of our agentic trading desk.
With the fork, pointing TradingAgents at the Agentic Banking platform takes four environment variables for the endpoint and the models, plus one variable per team for its key:

Then the fork's team_llms setting tells each team which key to use:

For the models, we picked gpt-6-luna and gpt-6-sol from the Anchorage Digital Bank’s model catalog. Luna is our cheap and fast model for summaries and reading data, and Sol is our workhorse for the two biggest calls, the research manager's plan and the portfolio manager's decision.
Running the desk
Now that we're all set up, let's see the desk in action. To put it through its trial by fire, we asked it to evaluate everyone's favorite digital asset: BTC.
We'll see if each team member was pulling their weight, and talk through some of the technical details behind the TradingAgents implementation.
Out of pure curiosity, we made it run with only the data sources it ships with, and the portfolio manager called out that it felt like it didn't have enough data to make an informed decision. It said that "Sentiment and macro evidence are too limited to strengthen the call materially," which was the absolute right call. We hadn't set up a FRED key, the Reddit tool calls hadn't returned anything of substance either, and the whole decision pretty much rested on one free price feed.
So before the real run, we gave the desk a free FRED API key for US macro data, and gave the analysts access to Mycelia Signal, an x402-compatible data provider from our merchant catalog.
As mentioned, only two merchants were used here, BlockRun for inference and Mycelia for data, but our catalog already has about 20 x402 services an agent can use seamlessly, like Nansen for onchain analytics, CoinGecko for token data, or QuickNode for blockchain access. It would be extremely easy to add more merchants to get more accessible data, and to give agents the chance to choose which source they want to query. But for the sake of simplicity we wanted to keep this list short. As experiments get larger, agents being able to access high-quality (and sometimes paywalled) data sources will be essential to getting good results. The data was split across the desk the same way a real firm would split it. The market analyst read BTC's price history and indicators from Yahoo Finance, plus the signed readings it bought from Mycelia for $0.11. The sentiment analyst read StockTwits, Reddit, and Yahoo Finance news, and the news analyst read world headlines, US macro data from FRED, and prediction-market odds from Polymarket.
Everyone else on the desk, the researchers, the trader, the risk team, and the portfolio manager, only ever read the analysts' reports.
The desk is split this way so nobody further down the desk has to read raw data (because raw data can be noisy).
Our market analyst read BTC's price history and computed its indicators: BTC had closed at $85,509, above its 10-day, 50-day, and 200-day averages, but its MACD had slipped below its signal line. Then it read what it bought from Mycelia: a BTC price taken as the median of 10 exchanges, a sentiment index of 11.4, classified NEUTRAL, and a market stress index of 8.71, classified CALM. Remember that Mycelia returns a signed payload, meaning anyone can later prove exactly what data the desk acted on, which matters a lot when auditing the data our desk used to make a decision.
The most interesting part of this run was watching the desk pay for a data source it had never used before, with no signup, no account, and no API key with Mycelia, only a payment from its own budget. And it didn't take the new data at face value. It cross-checked Mycelia's signed price against its free price feed, noted they were $27.30 apart, and pointed out where the new readings disagreed with the trend: "the neutral sentiment does not strongly confirm the bullish trend structure."
The sentiment analyst had less data to work with. Yahoo returned no news for the week, Reddit was pretty silent, and it called 30 StockTwits posts, 10 bullish and 8 bearish, "Mixed" with low confidence. The news analyst got the most out of FRED, which showed the 10-year Treasury yield jumping from 4.75% to 5.24% in a week, and Polymarket put the odds of no Fed rate cuts in 2026 at 96%.
The researchers argue over the same reports, each defending the bull and bear case respectively. This is the famous "adversarial" review that seems to make its way back into every agentic review workflow. The bull opened with the strongest bear point, that "BTC-USD is not giving a clean short-term breakout signal," then argued the trend still favored buying. It didn't even try to fight the macro data, agreeing that yields had jumped. The bear leaned on that data hardest, arguing that "the macro backdrop could make a speculative, non-yielding asset especially vulnerable," and used Mycelia's stress reading to warn that "the calm Mycelia stress classification does not make the asset low-risk." The research manager then judged the debate and wrote the plan: Overweight, building toward 110% of a normal position, and up to 125% only if BTC held above $86,930.
The trader then translates the plan into a concrete order. Ours proposed a Buy at $85,509 with a stop at $83,353, about one day's typical move below the price, calling it "a measured trend-following Buy rather than a full-conviction chase."
The risk team argues over that order from three temperaments, aggressive, conservative, and neutral. Their findings were what you would expect. The aggressive analyst wanted to buy now rather than wait for a perfect confirmation, answering the caution with "neutral readings are not a veto." The conservative analyst pointed to Mycelia's NEUTRAL sentiment as "not a strong counterweight" to the risks, and to the 5.24% yield as a reason for caution. And the neutral one concluded that "neither sentiment nor the macro picture settles the direction." I'm not one to anthropomorphize, but this reads a lot like confirmation bias, interesting to see our very human logic fallacies make their way into the latent space.
The portfolio manager is the big boss in our desk and has the final say. Ours came back Overweight (no pun intended): build toward a normal position, go to 110% only with continued strength, and skip the 125% the research manager had allowed, since "yields pose a headwind." Finally, the desk wrote the decision to its memory, marked pending, so a later run can reflect on how it turned out.
This run really helped us illustrate what makes the project work. Each agent is an LLM with an opinionated role prompt, one file per agent in the repo. For example, the bear is told to "present a well-reasoned argument emphasizing risks," and the conservative risk analyst to show why "a conservative stance is ultimately the safest path for the firm's assets." This allows every agent to keep an isolated context to avoid contaminating its counterparts' opinions and to also, very importantly, avoid context rot and the tendency of long contexts to lose details in the middle.
During the run, we made 18 payments that cost about $0.19, 15 for inference and 3 for the Mycelia data, all paid onchain through x402. This data is fully visible through the Agentic Banking dashboard, so splitting up the agents allowed us to see who was working hard and who was hardly working.

Conclusions
This particular implementation is just one take on how agents can research, take in data, and turn information into a decision. The framework, the logic, the teams, and the agents are all yours to change, swap TradingAgents for your own desk, add a team, drop the debates, or point it at a different market, these are your experiments to run.
That's the point of the Anchorage Digital Bank’s Agentic Banking platform: spend your time on the domain problem, and we handle the rails, balances, security, and settlement, so you can put your agents to work knowing that your funds are safe and that your agents are using them responsibly.
If you want to run this same experiment, or any other where your agents might need to reach for their wallet, Agentic Banking is a great place to start. And if you're already working on something like this, reach out to us. We'd love to help.
About Anchorage Digital
Anchorage Digital is a global crypto platform that enables institutions to participate in digital assets through trading, staking, custody, governance, settlement, stablecoin issuance, and the industry’s leading security infrastructure. Home to Anchorage Digital Bank N.A., the first federally chartered crypto bank in the U.S., Anchorage Digital also serves institutions through Anchorage Digital Singapore, which is licensed by the Monetary Authority of Singapore; Anchorage Digital NY, which holds a BitLicense from the New York Department of Financial Services; and self-custody wallet Porto by Anchorage Digital. Anchorage Digital Bank also offers fiat custody services through the use of an FDIC-insured, licensed sub-custodian. Anchorage Digital is funded by leading institutions including Andreessen Horowitz, GIC, Goldman Sachs, KKR, and Visa, with a valuation of $4.2 billion. Founded in 2017 in San Francisco, California, Anchorage Digital has offices in New York, New York; Porto, Portugal; Singapore; and Sioux Falls, South Dakota. Learn more at anchorage.com, on X @Anchorage, and on LinkedIn.
This post is intended for informational purposes only. It is not to be construed as and does not constitute an offer to sell or a solicitation of an offer to purchase any securities in Anchor Labs, Inc., or any of its subsidiaries, and should not be relied upon to make any investment decisions. Furthermore, nothing within this announcement is intended to provide tax, legal, or investment advice and its contents should not be construed as a recommendation to buy, sell, or hold any security or digital asset or to engage in any transaction therein.
Anchorage Digital Bank National Association offers fiat custody services through the use of an FDIC-insured, licensed sub-custodian.