# Sell the Yield Token

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

The yield token, or its rebasing form, sold for USDC on Ethereum.

## Overview

- `token`: `USDY` or `rUSDY`; `tokenAmount`: how much is sold, at most 18 digits after the point — for `rUSDY` its balance, sold as whole `USDY` units' worth of shares. At the oracle's price, with a tolerance of 0.1%: when the chain gives less than that, the transaction reverts and the operation is `failed` with `failureCode` `TOKENIZED_ASSETS_PRICE_MOVED`.
- Above the token's smallest redemption. A wallet Aurea signs for is signed and sent at once (`201`, `submitted`, `completed` or `failed`); a wallet its owner signs for gets `steps` to sign and send to [Send Signatures](https://docs.aureahub.com/docs/tok-operation-broadcast.md) within ten minutes (`signingExpiresAt`). `received` is the USDC paid, once completed.
- Takes an `Idempotency-Key`. 10 a minute. User token and the tenant signature ([Calling the Routes](https://docs.aureahub.com/docs/guide-tokenized-assets.md)); for `user`, `owner`, `tenantadmin` and `signer`, for themselves (another role: `403`).

## Errors

Besides [the answers every tokenized assets route can give](https://docs.aureahub.com/docs/guide-tokenized-assets.md) (no valid token or signature, the module not set up or not switched on, a field that does not fit):

| Status | details.code | When |
| --- | --- | --- |
| 403 | — | The caller's role may not call it (`Your role does not have permission to perform this action.`). |
| 404 | TOKENIZED_ASSETS_ASSET_NOT_OFFERED | Your tenant does not offer the yield token (`details.symbol`). |
| 400 | TOKENIZED_ASSETS_INVALID_AMOUNT | The amount. |
| 403 | TOKENIZED_ASSETS_… (eligibility) | The user's eligibility for the token ([Requirements](https://docs.aureahub.com/docs/tok-requirements.md)). |
| 409 | TOKENIZED_ASSETS_WALLET_NOT_REGISTERED, …_WALLET_NOT_SIGNABLE | The wallet that holds the token is not registered on chain 1, or nobody Aurea can have sign for it. |
| 409 | TOKENIZED_ASSETS_EXECUTION_UNAVAILABLE | `This operation is not available in this environment and chain.` — in the test environment, always today. |
| 503 | TOKENIZED_ASSETS_CHAIN_UNAVAILABLE | `The chain cannot be reached for this tenant at the moment.` |
| 409 | TOKENIZED_ASSETS_PRICE_OUT_OF_BOUNDS | A price read on chain is not above zero. |
| 409 | TOKENIZED_ASSETS_ASSET_PAUSED, …_WALLET_BLOCKED | What the chain says before anything is signed. |
| 400 | TOKENIZED_ASSETS_ORDER_TOO_SMALL | Nothing, or less than the smallest redemption. |
| 409 | TOKENIZED_ASSETS_INSUFFICIENT_BALANCE | `The wallet does not hold enough to carry out this operation.` |
| 423 | TENANT_FROZEN, USER_FROZEN, ACCOUNT_FROZEN, WALLET_FROZEN | Something is frozen ([Freezes](https://docs.aureahub.com/docs/guide-freezes.md)). |
| 403 / 423 / 503 | POLICY_… | Institutional tenants only: the tenant's policy refuses. |
| 409 | TOKENIZED_ASSETS_TENANT_LIMIT_EXCEEDED | Above one of your tenant's limits. |
| 503 / 400 | TOKENIZED_ASSETS_SIGNING_FAILED, …_BROADCAST_REFUSED | Aurea could not sign, or the node refused the first transaction. |

## Endpoint

### `POST /v1/tokenized-assets/yield/redemptions`

Authentication: bearer token required.

Sells the yield token, or its rebasing form, for USDC.

**Headers**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Idempotency-Key` | string | no | Optional — required for a tenant on the institutional security profile (`400` `IDEMPOTENCY_KEY_REQUIRED` without it). Up to 255 letters, digits, - or _. The same key with the same request answers with the first answer (`idempotency-replayed: true`) instead of running it again; see [Idempotency](https://docs.aureahub.com/docs/idempotency.md) |

**Request body**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `isTestnet` | boolean | no | `true` for the test environment; `false` (the default) for production. |
| `token` | string | yes | One of `USDY`, `rUSDY`. |
| `tokenAmount` | string | yes | How much of the token is sold, as a decimal. At most 80 characters. |

**Responses**

`201` Completed

```json
{
  "operationId": "6b0d4f2a-8c3e-4a91-b7f5-2d4e6c8a0b13",
  "kind": "yield_redeem",
  "status": "completed",
  "isTestnet": false,
  "symbol": "USDY",
  "chainId": 1,
  "side": "sell",
  "unit": "token",
  "tokenAmount": "100",
  "valueUsd": "113.09",
  "paymentToken": "USDC",
  "paymentAmount": "113.09",
  "wallet": "own",
  "signer": "server",
  "quoteId": null,
  "order": null,
  "steps": [],
  "signingExpiresAt": null,
  "txHashes": [
    "0xe5c3…7a91",
    "0xf6d4…8b02"
  ],
  "received": "112.976934",
  "failureCode": null,
  "createdAt": "2026-10-07T15:03:02.000Z",
  "updatedAt": "2026-10-07T15:03:02.000Z"
}
```

[Contact us for details](https://www.aureahub.com/contact).

---

Web version: https://docs.aureahub.com/#tok-yield-redeem
