Skip to main content

The challenge

An agent managing on-chain yield has to solve three problems at once, and most stacks only solve one:
  • Deciding requires comparable data across protocols and chains — not twelve different APIs with twelve different definitions of “APY”.
  • Acting requires building correct calldata for a protocol the agent has never seen, and being sure it works before a key touches it.
  • Doing both safely requires that the agent never hold the key at all.

Start with the MCP

The fastest way to give an agent all of this is the 1Tx MCP server. One line connects it to Claude, ChatGPT, Cursor, VS Code or Codex; the user signs in once and gets a 1Tx non-custodial wallet, and every action the agent builds waits for their approval.

Getting started

Every client, sign-in, and prompts to try

Tools

Discover, act and track
Building your own agent or client instead? The REST API below gives you the same data and bundles directly.

What 1Tx gives an agent

One vocabulary for every market

Every lending position is an instrument id. The agent compares Aave on Base against a Morpho vault on Arbitrum using the same fields, and enters either one with the same call.

Yield that survives scrutiny

Raw APY rewards whatever is being subsidised this week. The catalogue also exposes the coefficient of variation of an instrument’s APY, how many days of history it has, how much of the yield is rewards rather than interest, and a derived tier — so an agent can rank on durability instead of on a headline number.

A bundle it cannot get wrong

The agent asks for calls; the API simulates them against live state and either returns a measured result or refuses. An agent’s failure mode becomes “no action taken, here is why” rather than a transaction it reasoned itself into.

No custody, anywhere

The agent produces a batch. The user’s own smart account signs it, pays gas in USDC from its own balance, and receives the yield tokens. There is no session key to scope, no wallet of ours to trust, and no 1Tx contract in the path.

Decide

/instruments, /metrics, /yield-index, /portfolios/analyze

Act

/instruments/:id/calldata, /bridge/calldata, /loops/:id/calldata

Verify

Every bundle simulated at a pinned block before it is returned

Sign elsewhere

The user’s ERC-4337 account, the user’s bundler, the user’s paymaster

A rebalance, end to end

Each step is refusable. If the exit’s simulation reverts, there is no half-finished rebalance to unwind — the agent reports and stops. Crossing chains adds a burn, a wait on Circle’s attestation, and a destination bundle sized to what actually arrived. Because the burn names the user’s own account as the only party that can redeem it, an agent that dies mid-bridge strands nothing: the redemption is still there, still callable, whenever a client comes back.

Patterns this supports

Rules worth building in

A bundle is pinned to a quote block, and a swap-bearing one expires outright. Rebuild before signing if anything has waited — an agent’s own deliberation time counts.
400 means the API simulated the thing and it did not work. Retrying it unchanged burns rate limit and proves nothing. 503 is the only status worth a blind retry.
Bundles are built with overridden balances so they can be prepared for an account that is not funded yet. assumedBalances: true is the API telling you that funding is your check to make.
On a smart account paying gas in USDC, a deposit sized to the entire balance fails. Size to balance minus the paymaster’s maximum charge, and keep that reserve on every chain you execute on.

Next steps

Integration Overview

The agent-driven model in context

API Cookbook

Rebalance and bridge recipes

Execution Model

Accounts, gas and cross-chain rules

Portfolio API

Score a book before moving it