{
  "x402Version": 2,
  "id": 57326,
  "slug": "57326",
  "resource": "https://yield.trdefi.com/v1/positions",
  "description": "TRDEFI prepare request",
  "type": "http",
  "resourceType": "Travel",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x4C96dA02d7120BFb81594d0e924B237e0c74660d",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "20000",
      "amountUsd": 0.02,
      "maxTimeoutSeconds": 3600
    },
    {
      "scheme": "exact",
      "network": "eip155:5042",
      "payTo": "0x4C96dA02d7120BFb81594d0e924B237e0c74660d",
      "asset": "0x3600000000000000000000000000000000000000",
      "amount": "20000",
      "maxTimeoutSeconds": 3600
    }
  ],
  "outputSchema": {
    "description": "Unsigned transactions plus the strategy hash they will produce.",
    "example": {
      "chain": "base",
      "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
      "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
      "transactions": [
        {
          "data": "0x095ea7b3...",
          "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
          "value": "0"
        }
      ]
    },
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "description": "Create a non-custodial stablecoin market-making position and earn the swap fees it collects. Give a wallet, a stablecoin pair and a maker fee; get back unsigned transactions that ship the position on-chain. Use this when an agent or treasury wants to earn yield on USDC/USDT without depositing funds anywhere: the money never leaves the wallet, and revoking the allowance closes the position. TRDEFI never signs and never takes custody, and keeps a 0.05% protocol fee inside the order.",
      "info": {
        "input": {
          "body": {
            "example": {
              "chain": "base",
              "deposits": [
                {
                  "amount": "1000000",
                  "symbol": "USDC"
                },
                {
                  "amount": "900000",
                  "symbol": "EURC"
                }
              ],
              "makerFeeBps": 30000,
              "wallet": "0x0000000000000000000000000000000000000000"
            },
            "properties": {
              "chain": {
                "description": "Network to ship on. Exactly these three keys: `base` (8453), `arc` (5042), `baseSepolia` (84532). Any other value is rejected with 422.",
                "enum": [
                  "base",
                  "arc",
                  "baseSepolia"
                ],
                "type": "string"
              },
              "checkBalances": {
                "default": false,
                "description": "Add live balance checks to `preflight` so you can tell a human the transfer will succeed before asking them to approve.",
                "type": "boolean"
              },
              "deposits": {
                "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.",
                "items": {
                  "properties": {
                    "amount": {
                      "description": "Amount in base units, as an integer string, e.g. \"1000000\" for 1 USDC.",
                      "type": "string"
                    },
                    "symbol": {
                      "description": "Token symbol or address, e.g. \"USDC\".",
                      "type": "string"
                    }
                  },
                  "required": [
                    "symbol",
                    "amount"
                  ],
                  "type": "object"
                },
                "maxItems": 2,
                "minItems": 2,
                "type": "array"
              },
              "includeApprovals": {
                "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.",
                "type": "boolean"
              },
              "makerFeeBps": {
                "default": 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.",
                "maximum": 2000000,
                "minimum": 0,
                "type": "integer"
              },
              "wallet": {
                "description": "Your own EVM address. The position belongs to it; funds never leave it.",
                "pattern": "^0x[a-fA-F0-9]{40}$",
                "type": "string"
              }
            },
            "required": [
              "chain",
              "wallet",
              "deposits"
            ],
            "type": "object"
          },
          "method": "POST",
          "type": "http"
        },
        "output": {
          "description": "Unsigned transactions plus the strategy hash they will produce.",
          "example": {
            "chain": "base",
            "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
            "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
            "transactions": [
              {
                "data": "0x095ea7b3...",
                "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "value": "0"
              }
            ]
          },
          "type": "object"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "properties": {
              "body": {
                "example": {
                  "chain": "base",
                  "deposits": [
                    {
                      "amount": "1000000",
                      "symbol": "USDC"
                    },
                    {
                      "amount": "900000",
                      "symbol": "EURC"
                    }
                  ],
                  "makerFeeBps": 30000,
                  "wallet": "0x0000000000000000000000000000000000000000"
                },
                "properties": {
                  "chain": {
                    "description": "Network to ship on. Exactly these three keys: `base` (8453), `arc` (5042), `baseSepolia` (84532). Any other value is rejected with 422.",
                    "enum": [
                      "base",
                      "arc",
                      "baseSepolia"
                    ],
                    "type": "string"
                  },
                  "checkBalances": {
                    "default": false,
                    "description": "Add live balance checks to `preflight` so you can tell a human the transfer will succeed before asking them to approve.",
                    "type": "boolean"
                  },
                  "deposits": {
                    "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.",
                    "items": {
                      "properties": {
                        "amount": {
                          "description": "Amount in base units, as an integer string, e.g. \"1000000\" for 1 USDC.",
                          "type": "string"
                        },
                        "symbol": {
                          "description": "Token symbol or address, e.g. \"USDC\".",
                          "type": "string"
                        }
                      },
                      "required": [
                        "symbol",
                        "amount"
                      ],
                      "type": "object"
                    },
                    "maxItems": 2,
                    "minItems": 2,
                    "type": "array"
                  },
                  "includeApprovals": {
                    "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.",
                    "type": "boolean"
                  },
                  "makerFeeBps": {
                    "default": 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.",
                    "maximum": 2000000,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "wallet": {
                    "description": "Your own EVM address. The position belongs to it; funds never leave it.",
                    "pattern": "^0x[a-fA-F0-9]{40}$",
                    "type": "string"
                  }
                },
                "required": [
                  "chain",
                  "wallet",
                  "deposits"
                ],
                "type": "object"
              },
              "method": {
                "const": "POST"
              },
              "type": {
                "const": "http"
              }
            },
            "type": "object"
          },
          "output": {
            "description": "Unsigned transactions plus the strategy hash they will produce.",
            "example": {
              "chain": "base",
              "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
              "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
              "transactions": [
                {
                  "data": "0x095ea7b3...",
                  "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                  "value": "0"
                }
              ]
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "serviceName": "TRDEFI create maker position",
      "tags": [
        "non-custodial yield",
        "stablecoin liquidity",
        "usdc usdt market making",
        "earn swap fees",
        "liquidity provision",
        "defi yield",
        "treasury yield",
        "no custody",
        "prepare transaction"
      ]
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "yield.trdefi.com",
  "lastUpdated": "2026-10-11T17:47:38.117Z",
  "quality": {
    "calls30d": 7,
    "uniquePayers30d": 3,
    "lastCalledAt": "2026-10-11T17:47:35.552Z"
  },
  "metadata": {
    "extensions": {
      "bazaar": {
        "description": "Create a non-custodial stablecoin market-making position and earn the swap fees it collects. Give a wallet, a stablecoin pair and a maker fee; get back unsigned transactions that ship the position on-chain. Use this when an agent or treasury wants to earn yield on USDC/USDT without depositing funds anywhere: the money never leaves the wallet, and revoking the allowance closes the position. TRDEFI never signs and never takes custody, and keeps a 0.05% protocol fee inside the order.",
        "info": {
          "input": {
            "body": {
              "example": {
                "chain": "base",
                "deposits": [
                  {
                    "amount": "1000000",
                    "symbol": "USDC"
                  },
                  {
                    "amount": "900000",
                    "symbol": "EURC"
                  }
                ],
                "makerFeeBps": 30000,
                "wallet": "0x0000000000000000000000000000000000000000"
              },
              "properties": {
                "chain": {
                  "description": "Network to ship on. Exactly these three keys: `base` (8453), `arc` (5042), `baseSepolia` (84532). Any other value is rejected with 422.",
                  "enum": [
                    "base",
                    "arc",
                    "baseSepolia"
                  ],
                  "type": "string"
                },
                "checkBalances": {
                  "default": false,
                  "description": "Add live balance checks to `preflight` so you can tell a human the transfer will succeed before asking them to approve.",
                  "type": "boolean"
                },
                "deposits": {
                  "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.",
                  "items": {
                    "properties": {
                      "amount": {
                        "description": "Amount in base units, as an integer string, e.g. \"1000000\" for 1 USDC.",
                        "type": "string"
                      },
                      "symbol": {
                        "description": "Token symbol or address, e.g. \"USDC\".",
                        "type": "string"
                      }
                    },
                    "required": [
                      "symbol",
                      "amount"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 2,
                  "type": "array"
                },
                "includeApprovals": {
                  "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.",
                  "type": "boolean"
                },
                "makerFeeBps": {
                  "default": 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.",
                  "maximum": 2000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "wallet": {
                  "description": "Your own EVM address. The position belongs to it; funds never leave it.",
                  "pattern": "^0x[a-fA-F0-9]{40}$",
                  "type": "string"
                }
              },
              "required": [
                "chain",
                "wallet",
                "deposits"
              ],
              "type": "object"
            },
            "method": "POST",
            "type": "http"
          },
          "output": {
            "description": "Unsigned transactions plus the strategy hash they will produce.",
            "example": {
              "chain": "base",
              "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
              "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
              "transactions": [
                {
                  "data": "0x095ea7b3...",
                  "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                  "value": "0"
                }
              ]
            },
            "type": "object"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "example": {
                    "chain": "base",
                    "deposits": [
                      {
                        "amount": "1000000",
                        "symbol": "USDC"
                      },
                      {
                        "amount": "900000",
                        "symbol": "EURC"
                      }
                    ],
                    "makerFeeBps": 30000,
                    "wallet": "0x0000000000000000000000000000000000000000"
                  },
                  "properties": {
                    "chain": {
                      "description": "Network to ship on. Exactly these three keys: `base` (8453), `arc` (5042), `baseSepolia` (84532). Any other value is rejected with 422.",
                      "enum": [
                        "base",
                        "arc",
                        "baseSepolia"
                      ],
                      "type": "string"
                    },
                    "checkBalances": {
                      "default": false,
                      "description": "Add live balance checks to `preflight` so you can tell a human the transfer will succeed before asking them to approve.",
                      "type": "boolean"
                    },
                    "deposits": {
                      "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.",
                      "items": {
                        "properties": {
                          "amount": {
                            "description": "Amount in base units, as an integer string, e.g. \"1000000\" for 1 USDC.",
                            "type": "string"
                          },
                          "symbol": {
                            "description": "Token symbol or address, e.g. \"USDC\".",
                            "type": "string"
                          }
                        },
                        "required": [
                          "symbol",
                          "amount"
                        ],
                        "type": "object"
                      },
                      "maxItems": 2,
                      "minItems": 2,
                      "type": "array"
                    },
                    "includeApprovals": {
                      "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.",
                      "type": "boolean"
                    },
                    "makerFeeBps": {
                      "default": 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.",
                      "maximum": 2000000,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "wallet": {
                      "description": "Your own EVM address. The position belongs to it; funds never leave it.",
                      "pattern": "^0x[a-fA-F0-9]{40}$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "chain",
                    "wallet",
                    "deposits"
                  ],
                  "type": "object"
                },
                "method": {
                  "const": "POST"
                },
                "type": {
                  "const": "http"
                }
              },
              "type": "object"
            },
            "output": {
              "description": "Unsigned transactions plus the strategy hash they will produce.",
              "example": {
                "chain": "base",
                "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
                "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
                "transactions": [
                  {
                    "data": "0x095ea7b3...",
                    "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                    "value": "0"
                  }
                ]
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "serviceName": "TRDEFI create maker position",
        "tags": [
          "non-custodial yield",
          "stablecoin liquidity",
          "usdc usdt market making",
          "earn swap fees",
          "liquidity provision",
          "defi yield",
          "treasury yield",
          "no custody",
          "prepare transaction"
        ]
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "yield.trdefi.com",
    "manifest_name": "yield.trdefi.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "chain": "base",
    "note": "Sign with your own wallet. TRDEFI cannot sign or broadcast these.",
    "strategyHash": "0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c",
    "transactions": [
      {
        "data": "0x095ea7b3...",
        "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
        "value": "0"
      }
    ]
  }
}