{"x402Version":2,"payTo":"0x4C96dA02d7120BFb81594d0e924B237e0c74660d","resources":[{"id":57326,"slug":"57326","resource":"https://yield.trdefi.com/v1/positions","description":"TRDEFI prepare request","type":"http","resourceType":"Travel","x402Version":2,"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},{"id":57327,"slug":"57327","resource":"https://yield.trdefi.com/v1/swaps","description":"TRDEFI prepare request","type":"http","resourceType":"Payments","x402Version":2,"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":"One unsigned transaction that performs the swap.","example":{"amountOut":"999000","chain":"base","note":"Sign with your own wallet. TRDEFI cannot sign or broadcast this.","transactions":[{"data":"0x...","to":"0x111111338c5091e8440b67b168bae16a668ac0de","value":"0"}]},"type":"object"},"extensions":{"bazaar":{"description":"Swap stablecoins against a live non-custodial liquidity position and receive the result on-chain. Give a strategy hash and an input amount; get back an unsigned transaction that settles the swap against that maker position. Use this when an agent needs to move USDC/USDT and prefers a real on-chain counterparty to a custodial venue: the swap is simulated first, and if it cannot succeed no transaction is returned at all, so a wallet is never handed one that is certain to revert.","info":{"input":{"body":{"example":{"amount":"1000000","chain":"base","direction":"aToB","strategyHash":"0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c","wallet":"0x0000000000000000000000000000000000000000"},"properties":{"amount":{"description":"REQUIRED. Input amount in token base units, as an integer string, e.g. \"1000000\" for 1 USDC. Must be greater than zero.","type":"string"},"chain":{"description":"REQUIRED. Network the position is on. Note this list differs from /v1/positions, which ships on `base`, `arc` and `baseSepolia` only.","enum":["ethereum","base","arbitrum","optimism","polygon","arc"],"type":"string"},"direction":{"description":"Which way round the pair to swap. Omit to let the route infer it from `tokenIn`/`tokenOut`.","enum":["aToB","bToA"],"type":"string"},"strategyHash":{"description":"REQUIRED. 32-byte strategy hash of the position to swap against.","pattern":"^0x[a-fA-F0-9]{64}$","type":"string"},"tokenIn":{"description":"Optional. Token you are selling, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"tokenOut":{"description":"Optional. Token you are buying, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"wallet":{"description":"REQUIRED. Your own EVM address that will sign the swap.","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"required":["strategyHash","chain","amount","wallet"],"type":"object"},"method":"POST","type":"http"},"output":{"description":"One unsigned transaction that performs the swap.","example":{"amountOut":"999000","chain":"base","note":"Sign with your own wallet. TRDEFI cannot sign or broadcast this.","transactions":[{"data":"0x...","to":"0x111111338c5091e8440b67b168bae16a668ac0de","value":"0"}]},"type":"object"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"example":{"amount":"1000000","chain":"base","direction":"aToB","strategyHash":"0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c","wallet":"0x0000000000000000000000000000000000000000"},"properties":{"amount":{"description":"REQUIRED. Input amount in token base units, as an integer string, e.g. \"1000000\" for 1 USDC. Must be greater than zero.","type":"string"},"chain":{"description":"REQUIRED. Network the position is on. Note this list differs from /v1/positions, which ships on `base`, `arc` and `baseSepolia` only.","enum":["ethereum","base","arbitrum","optimism","polygon","arc"],"type":"string"},"direction":{"description":"Which way round the pair to swap. Omit to let the route infer it from `tokenIn`/`tokenOut`.","enum":["aToB","bToA"],"type":"string"},"strategyHash":{"description":"REQUIRED. 32-byte strategy hash of the position to swap against.","pattern":"^0x[a-fA-F0-9]{64}$","type":"string"},"tokenIn":{"description":"Optional. Token you are selling, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"tokenOut":{"description":"Optional. Token you are buying, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"wallet":{"description":"REQUIRED. Your own EVM address that will sign the swap.","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"required":["strategyHash","chain","amount","wallet"],"type":"object"},"method":{"const":"POST"},"type":{"const":"http"}},"type":"object"},"output":{"description":"One unsigned transaction that performs the swap.","example":{"amountOut":"999000","chain":"base","note":"Sign with your own wallet. TRDEFI cannot sign or broadcast this.","transactions":[{"data":"0x...","to":"0x111111338c5091e8440b67b168bae16a668ac0de","value":"0"}]},"type":"object"}},"type":"object"},"serviceName":"TRDEFI prepare swap","tags":["stablecoin swap","usdc usdt swap","non-custodial swap","defi swap","prepare transaction","on-chain settlement","liquidity"]}},"tags":["bazaar"],"sourceHost":"yield.trdefi.com","lastUpdated":"2026-10-12T00:46:27.289Z","quality":{"calls30d":2,"uniquePayers30d":1,"lastCalledAt":"2026-10-12T00:46:25.608Z"},"metadata":{"extensions":{"bazaar":{"description":"Swap stablecoins against a live non-custodial liquidity position and receive the result on-chain. Give a strategy hash and an input amount; get back an unsigned transaction that settles the swap against that maker position. Use this when an agent needs to move USDC/USDT and prefers a real on-chain counterparty to a custodial venue: the swap is simulated first, and if it cannot succeed no transaction is returned at all, so a wallet is never handed one that is certain to revert.","info":{"input":{"body":{"example":{"amount":"1000000","chain":"base","direction":"aToB","strategyHash":"0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c","wallet":"0x0000000000000000000000000000000000000000"},"properties":{"amount":{"description":"REQUIRED. Input amount in token base units, as an integer string, e.g. \"1000000\" for 1 USDC. Must be greater than zero.","type":"string"},"chain":{"description":"REQUIRED. Network the position is on. Note this list differs from /v1/positions, which ships on `base`, `arc` and `baseSepolia` only.","enum":["ethereum","base","arbitrum","optimism","polygon","arc"],"type":"string"},"direction":{"description":"Which way round the pair to swap. Omit to let the route infer it from `tokenIn`/`tokenOut`.","enum":["aToB","bToA"],"type":"string"},"strategyHash":{"description":"REQUIRED. 32-byte strategy hash of the position to swap against.","pattern":"^0x[a-fA-F0-9]{64}$","type":"string"},"tokenIn":{"description":"Optional. Token you are selling, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"tokenOut":{"description":"Optional. Token you are buying, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"wallet":{"description":"REQUIRED. Your own EVM address that will sign the swap.","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"required":["strategyHash","chain","amount","wallet"],"type":"object"},"method":"POST","type":"http"},"output":{"description":"One unsigned transaction that performs the swap.","example":{"amountOut":"999000","chain":"base","note":"Sign with your own wallet. TRDEFI cannot sign or broadcast this.","transactions":[{"data":"0x...","to":"0x111111338c5091e8440b67b168bae16a668ac0de","value":"0"}]},"type":"object"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"example":{"amount":"1000000","chain":"base","direction":"aToB","strategyHash":"0x5928c6b6c24c08615ddde8b832e6f4b135550601e2bb903dba4123c1b8ff8f2c","wallet":"0x0000000000000000000000000000000000000000"},"properties":{"amount":{"description":"REQUIRED. Input amount in token base units, as an integer string, e.g. \"1000000\" for 1 USDC. Must be greater than zero.","type":"string"},"chain":{"description":"REQUIRED. Network the position is on. Note this list differs from /v1/positions, which ships on `base`, `arc` and `baseSepolia` only.","enum":["ethereum","base","arbitrum","optimism","polygon","arc"],"type":"string"},"direction":{"description":"Which way round the pair to swap. Omit to let the route infer it from `tokenIn`/`tokenOut`.","enum":["aToB","bToA"],"type":"string"},"strategyHash":{"description":"REQUIRED. 32-byte strategy hash of the position to swap against.","pattern":"^0x[a-fA-F0-9]{64}$","type":"string"},"tokenIn":{"description":"Optional. Token you are selling, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"tokenOut":{"description":"Optional. Token you are buying, as a symbol or address. Use it to disambiguate the direction.","type":"string"},"wallet":{"description":"REQUIRED. Your own EVM address that will sign the swap.","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"required":["strategyHash","chain","amount","wallet"],"type":"object"},"method":{"const":"POST"},"type":{"const":"http"}},"type":"object"},"output":{"description":"One unsigned transaction that performs the swap.","example":{"amountOut":"999000","chain":"base","note":"Sign with your own wallet. TRDEFI cannot sign or broadcast this.","transactions":[{"data":"0x...","to":"0x111111338c5091e8440b67b168bae16a668ac0de","value":"0"}]},"type":"object"}},"type":"object"},"serviceName":"TRDEFI prepare swap","tags":["stablecoin swap","usdc usdt swap","non-custodial swap","defi swap","prepare transaction","on-chain settlement","liquidity"]}}},"liveness":{"reliability":null},"verified":false,"featured":false}]}