stablecoin yield api

Stablecoin yield your agent can actually execute.

Discover, compare, deposit, rebalance, and withdraw across leading DeFi markets through one API. Positions and gas are denominated in USDC, so your users never need to hold a native token.

multi-protocolmulti-chain · mainnet1 transactionUSDC — gas included

Sample response from the 1Tx instrument registry — illustrative data, not live rates.

GET/instruments?chainId=8453&isActive=true&sortBy=apy&sortOrder=descsample response · not live200 OK
morpho6.11%base · 8453$18.7M
aave5.24%base · 8453$41.2M
fluid5.02%base · 8453$12.4M
euler4.80%arbitrum · 42161$9.30M
compound v34.31%unichain · 130$6.80M

Every venue, one shape — instrumentId · protocol · chainId · currentApy · tvl · isActive

Unified workflow

DiscoverCompareDepositRebalanceWithdraw

USDC native

PositionsGas

01 — The problem

Every protocol, every chain. One integration instead of one per venue.

Without 1Tx

  • Every protocol × chain is another integration to write
  • An ABI and adapter per venue, kept alive as protocols upgrade
  • Every venue reports APY and TVL in its own shape
  • Swap, approve, deposit — three steps your user can abandon between
  • Cross-chain means a bridge integration on top of all that
  • Users must hold a native gas token on every chain you support

With 1Tx

  • One REST API and one router
  • One instrument registry — a bytes32 id per (protocol, chain, market)
  • One normalized metrics shape across every venue
  • Swap and deposit settle atomically in a single transaction
  • Cross-chain deposits built in, routed over Circle CCTP
  • USDC end to end — a smart account pays gas in USDC, no native token

02 — How it works

Discover, build, execute. Three calls.

  1. Discover

    GET /instruments

    Query the registry by chain, protocol, asset or yield. Every instrument returns in the same shape — APY, TVL, status — across every supported protocol.

  2. Build

    POST /transactions/buy

    One call returns the full unsigned transaction set — approve, then buy — quoted and ready to sign. Cross-chain deposits route over Circle CCTP in the same call.

  3. Execute

    Your wallet signs

    An EOA signs each transaction, or a Safe smart account executes gaslessly — gas paid in USDC. Track settlement through the operation status endpoint.

1Tx builds the transaction; your wallet signs it.

The router never holds funds beyond a single transaction.

03 — Quickstart

From zero to a signed deposit in one file.

No SDK required — plain HTTPS and a wallet. The TypeScript snippet is type-checked in CI against the real API shapes so it cannot silently rot.

// 1Tx quickstart — deposit 100 USDC into the highest-APY instrument on Base.
// Use your existing wallet client. No 1Tx SDK required.
declare const wallet: {
  account: { address: string };
  sendTransaction(tx: Record<string, unknown>): Promise<unknown>;
};

export const api = async <T>(path: string, body?: object): Promise<T> =>
  (await fetch(`https://api.1tx.fi/api/v1${path}`, {
    method: body ? "POST" : "GET",
    headers: { "content-type": "application/json", "x-api-key": process.env["1TX_API_KEY"]! },
    body: body && JSON.stringify(body),
  })).json();

// 1. Discover
const { data } = await api<{ data: { instrumentId: string }[] }>(
  "/instruments?chainId=8453&isActive=true&sortBy=apy&sortOrder=desc&limit=1",
);

// 2. Build — point sourceChainId at wherever your USDC sits; 1Tx routes over CCTP.
const { transactions } = await api<{ transactions: Record<string, unknown>[] }>("/transactions/buy", {
  userAddress: wallet.account.address,
  instrumentId: data[0]!.instrumentId,
  amountUsdc: "100",
  sourceChainId: 8453,
});

// 3. Execute — 1Tx builds the transaction, your wallet signs it.
for (const tx of transactions) await wallet.sendTransaction(tx);
quickstart.ts

Full repo with sell, cross-chain and Safe smart-account flows: 1tx-fi/api-examples ↗

04 — Built for agents

Built for agents, not just callable by them.

Most yield APIs answer read-only questions. 1Tx is designed for software that acts — with the guardrails that requires.

open-allocator

MIT · Python · 542 tests

An open-source harness for AI agents to run policy-bounded yield allocation on the 1Tx API. The research plane is read-only and free-form; the execution plane is deterministic — every decision crosses over as a validated artifact that must pass the policy gate before a transaction is built.

  • policy.yaml is the constitution: allowlists, caps and gates that can only tighten, never loosen
  • Diversification is measured, not labelled — a floor on effective independent positions, computed from the instruments' own history
  • Dry-run by default: nothing broadcasts without --confirm
  • Every step is a JSON-out CLI command — agents and humans use the same interface
Star on GitHub ↗

The 1Tx Claude skill

Claude Code · Circle agent wallet

Claude Code acts as the portfolio manager: it provisions a Circle agent wallet — no private key in your environment — reads the live instrument universe, proposes a diversified allocation explaining which metrics drove every pick, and waits for approval before any spend.

  • Confirmation-gated execution: the allocation table is presented and approved before anything moves
  • OTP-gated policy writes — spend limits on the Circle wallet can't change without you
  • Gas sponsored by Circle's Gas Station — only USDC funding is required
  • Rebalance and withdraw are same-session natural language

Guardrails across the stack

Spend limitsOTP-gated policy changesAllowlisted router actionsConfirmation-gated executionDry-run by defaultPolicy can only tighten

05 — Live agent

A sentence in, a governed allocation out.

agents.1tx.fi runs a real book on the 1Tx API. A plain-English mandate derives the policy; a daily job keeps the book inside it. The agent proposes — deterministic code validates, signs and executes, with no model in the signing path.

The mandate

“I want to create a portfolio with a diversified core of blue-chip opportunities that seeks the highest available yields, complemented by a satellite allocation to higher-yield opportunities with contained risk and diversification across several positions, so that a loss or depeg affects only a small portion of the portfolio.”
strategy: sleevesreviewed by a human
Blended APY
6.683%
Effective positions
6.869

concentration, 1/Σw²

Gas paid, all time
$0.10

in USDC, via paymaster

AllocationShare of deployed capital, by position.
Share of deployed capital and current APY, by position.
PositionShare of deployed capitalAPY
Tokemak baseUSD autopoolTokemak · Base · satellite16.75%7.49%
Hyperithm USDC ApexMorpho · Monad · core16.46%7.89%
August USDC V2Morpho · Monad · satellite16.32%7.58%
Avantis USDC LP trancheAvantis · Base · core13.25%5.64%
Steakhouse High Yield USDCMorpho · Base · core13.00%6.05%
Gauntlet USDC FrontierMorpho · Base · core12.33%6.35%
USDCFluid · Base · satellite11.89%4.85%

Bars are proportional to share; APY is descriptive, not predictive.

  • /bookEvery position in full — by protocol, by chain, by sleeve.
  • /shelfThe universe screened each day, and what the agent did with each name.
  • /mandateEvery knob the sentence produced, and the rationale behind it.
  • /activityEvery transaction sent, with the USDC gas it actually cost.
Open the live dashboard

06 — Capabilities

One surface for the whole flow.

Instrument registry

One bytes32 id per (protocol, chain, market). Discovery, status and metadata in one shape across every supported protocol.

Atomic router

Swap and deposit settle atomically. The API returns the full unsigned transaction set, quoted and ready to sign.

Cross-chain via CCTP

Deposits settle across chains through Circle CCTP. Standard transfer is free; fast transfer settles in seconds for a server-computed fee.

Risk & APY metrics

Normalized APY and TVL across every venue, plus portfolio analyze, compare and simulate endpoints for allocation decisions.

Guardrails

Spend caps, allowlisted router actions, OTP-gated policy changes and confirmation-gated execution. Policy can only tighten.

USDC end to end

Every amount is USDC — funding, quotes, deposits and withdrawals. A Safe smart account pays gas in USDC too, so no native token is ever required. One EIP-712 authorization, then /buy, /sell and /withdraw with idempotency keys.

07 — Security

Security, stated plainly.

Self-custody by construction.

1Tx never holds your funds beyond a single transaction. Deposits land in the underlying protocols' vaults, attributable to your wallet. There is no pooled 1Tx balance to drain.

Bounded, even for agents.

Smart-account flows carry spend caps you sign. Agent tooling is dry-run by default, confirmation-gated, and allowlisted to router buy/sell actions — a compromised prompt cannot exfiltrate via plain USDC transfers.

Found something?

Report it responsibly to security via the contact below. A formal bug bounty program is being set up. hello@1tx.fi

Deployed contracts

Underlying protocols hold the funds; the router only routes. Verify before you sign.

1Tx Router (Base)

0xbFdd5bEdC0cB9B8795A93C2a1fB634012C8F99bCView on Basescan ↗

08 — Who it's for

Pick your integration path.

Self-serve

Agents & bots

An agent that can land here, get a key, run an example and deposit — no call required. Guardrails included from the first request.

Get an API key →
Self-serve

Wallets & apps

One integration for one-click Earn across every supported protocol and chain. Optional referral fee on flow, so the integration pays for itself.

Read the docs →
Design partners · audit in progress

Fintechs & institutions

Stablecoin Earn infrastructure for regulated products. We onboard a small number of design partners directly.

For teams →

09 — FAQ

Straight answers.

01Do you custody funds?
No. Your wallet signs every transaction, and the router never holds funds beyond a single transaction. Deposits sit in the underlying protocols' vaults — Aave, Morpho, Compound, Euler or Fluid — attributable to your address.
02Is it audited?
The underlying protocols are audited. The 1Tx router — the new code surface — is not yet; an audit is in progress. Treat it as experimental software, use small amounts, and set spend caps on smart accounts.
03What does it cost?
There is no 1Tx platform fee. The API supports an optional referral fee (referralFeeBps, up to 5%) that integrators can attach to executed flow — that is how wallets and apps monetize. Cross-chain standard transfers over CCTP are free; fast transfer carries a server-computed fee shown in the quote.
04Which chains and protocols are supported?
Aave, Morpho, Compound V3, Euler and Fluid, on Base, Arbitrum and Unichain mainnets. The live, queryable list is the registry itself: GET /instruments.
05How long do cross-chain deposits take, and what do they cost?
Cross-chain buys settle via Circle CCTP. Standard transfer is free and typically takes minutes; fast transfer settles in seconds for a fee computed server-side and returned in the quote. Sells never bridge — they always settle on the position's own chain.
06Can my agent execute without me approving each transaction?
Only as far as you let it. Everything is confirmation-gated by default in the open-source tooling. If you opt into autonomy, it stays bounded: Safe smart-account spend caps you sign, Circle wallet policy limits with OTP-gated changes, and allowlisted router actions. Unbounded execution is not a supported mode.
07EOA or smart account — what's the difference?
With an EOA, your wallet signs each transaction the API returns (approve, then buy). With a Safe smart account, you sign one EIP-712 authorization carrying a spend cap, then call /buy, /sell and /withdraw gaslessly — gas is paid in USDC — with idempotency keys for safe retries.
08Are there rate limits?
No published limits today — fair use applies. Every request accepts an X-Request-Id header for support and debugging. If you need guaranteed headroom, write to hello@1tx.fi.