# TRDEFI Yield Position Prepare

> TRDEFI Yield Position Prepare is a paid API for AI agents from yield.trdefi.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-12).

Prepares a DeFi liquidity position request on a specified EVM chain, pairing two tokens with a configurable maker fee for yield generation.

## Facts

- Endpoint: POST https://yield.trdefi.com/v1/positions?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/trdefi-yield-position-prepare-177bd153
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VlNdp1hzFAYpWPwkAHcER

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability trdefi-yield-position-prepare-177bd153 -d '<json body>'
```

Example prompt: Set up a TRDEFI yield position on Base for my wallet 0xABC...123, depositing 1000000 USDC (1 USDC) and 500000000000000000 WETH (0.5 ETH), with a maker fee of 300 basis points.

## When to prefer this

Use this endpoint when you need to programmatically prepare a two-token DeFi yield position on an EVM chain (Base, Ethereum, Arbitrum) where funds stay in the user's wallet and you want to set a custom maker fee. Prefer this over generic swap or bridge endpoints when the goal is yield generation through liquidity provision with configurable fee capture.

## Known failure modes

- Invalid wallet address format returns a 400 error
- Unsupported chain name causes a validation error
- Deposits array not containing exactly two token entries is rejected
- Token symbol not recognized on the specified chain returns an error
- Amount not in valid base-unit string format causes a parse failure
- makerFeeBps value outside 0-2000000 range is rejected
- Payment of $0.02 USDC not received results in 402 Payment Required

## How this service works

TRDEFI prepare request

## Output

Returns a prepared position object containing the liquidity position parameters, chain routing details, and configuration ready for on-chain submission, without moving funds from the user's wallet.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "base",
    "arc",
    "baseSepolia"
   ],
   "type": "string",
   "description": "Network to ship on. Exactly these three keys: `base` (8453), `arc` (5042), `baseSepolia` (84532). Any other value is rejected with 422."
  },
  "wallet": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Your own EVM address. The position belongs to it; funds never leave it."
  },
  "deposits": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "symbol",
     "amount"
    ],
    "properties": {
     "amount": {
      "type": "string",
      "description": "Amount in base units, as an integer string, e.g. \"1000000\" for 1 USDC."
     },
     "symbol": {
      "type": "string",
      "description": "Token symbol or address, e.g. \"USDC\"."
     }
    }
   },
   "maxItems": 2,
   "minItems": 2,
   "description": "REQUIRED. Exactly two tokens, and they must be different symbols. Each `amount` is an integer string in base units — never a float. You supply both sides, so we never have to guess a price."
  },
  "makerFeeBps": {
   "type": "integer",
   "default": 0,
   "maximum": 2000000,
   "minimum": 0,
   "description": "Fee you keep per swap, in the protocol's 1e7 scale (`30000` = 0.30%). Independent of, and on top of, the 0.05% protocol fee. Optional; defaults to 0."
  },
  "checkBalances": {
   "type": "boolean",
   "default": false,
   "description": "Add live balance checks to `preflight` so you can tell a human the transfer will succeed before asking them to approve."
  },
  "includeApprovals": {
   "type": "boolean",
   "default": true,
   "description": "Set `false` to receive only the `ship` step. By default the `approve` steps are included only where your live allowance is short."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/trdefi-yield-position-prepare-177bd153/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from yield.trdefi.com](https://www.zero.xyz/host/yield.trdefi.com/llms.txt)
