# Buy 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, bought with USDC on Ethereum.

## Overview

- `token`: `USDY` or its rebasing form `rUSDY`; `amount`: the USDC paid, at most 6 digits after the point. From the user's own wallet registered on chain `1`. 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`.
- Within your tenant's limits and above the token's smallest subscription (`400` `TOKENIZED_ASSETS_ORDER_TOO_SMALL`). 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 what was minted, once completed — the token, or the rebasing form's shares (`unit` `shares`).
- 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 (at most 6 digits after the point, above zero). |
| 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 | `Trading in this asset is paused.` |
| 400 | TOKENIZED_ASSETS_PAYMENT_TOKEN_UNSUPPORTED | `This payment token cannot be used for this operation.` |
| 409 | TOKENIZED_ASSETS_WALLET_BLOCKED | `The wallet cannot hold or move this asset.` |
| 400 | TOKENIZED_ASSETS_ORDER_TOO_SMALL | `The amount is below the least the market takes for this operation.` |
| 409 | TOKENIZED_ASSETS_INSUFFICIENT_BALANCE | The wallet does not hold the USDC. |
| 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 (`details.limit`). |
| 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/subscriptions`

Authentication: bearer token required.

Buys the yield token, or its rebasing form, with 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 | The yield token, or its rebasing form. One of `USDY`, `rUSDY`. |
| `amount` | string | yes | The stablecoin paid in, as a decimal (6 digits after the point at most). At most 80 characters. |

**Responses**

`201` Completed

```json
{
  "operationId": "5aa9c3e1-7b2d-4f80-9e64-1c3d5b7a9f02",
  "kind": "yield_subscribe",
  "status": "completed",
  "isTestnet": false,
  "symbol": "USDY",
  "chainId": 1,
  "side": "buy",
  "unit": "token",
  "tokenAmount": null,
  "valueUsd": "999.98",
  "paymentToken": "USDC",
  "paymentAmount": "1000",
  "wallet": "own",
  "signer": "server",
  "quoteId": null,
  "order": null,
  "steps": [],
  "signingExpiresAt": null,
  "txHashes": [
    "0xc3a1…5e7f",
    "0xd4b2…6f80"
  ],
  "received": "884.215730114209741",
  "failureCode": null,
  "createdAt": "2026-10-07T15:03:02.000Z",
  "updatedAt": "2026-10-07T15:03:02.000Z"
}
```

`201` To Sign

```json
{
  "operationId": "5aa9c3e1-7b2d-4f80-9e64-1c3d5b7a9f02",
  "kind": "yield_subscribe",
  "status": "quoted",
  "isTestnet": false,
  "symbol": "USDY",
  "chainId": 1,
  "side": "buy",
  "unit": "token",
  "tokenAmount": null,
  "valueUsd": "999.98",
  "paymentToken": "USDC",
  "paymentAmount": "1000",
  "wallet": "own",
  "signer": "client",
  "quoteId": null,
  "order": null,
  "steps": [
    {
      "stepIndex": 0,
      "purpose": "approve",
      "txHashToSign": "0x6b1f…c4e2",
      "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "data": "0x095ea7b3…",
      "value": "0",
      "chainId": 1,
      "nonce": 41,
      "gasLimit": "65000",
      "maxFeePerGas": "31000000000",
      "maxPriorityFeePerGas": "1500000000"
    },
    {
      "stepIndex": 1,
      "purpose": "subscribe",
      "txHashToSign": "0x0e2c…77a1",
      "to": "0x2c1d…9a07",
      "data": "0x…",
      "value": "0",
      "chainId": 1,
      "nonce": 42,
      "gasLimit": "900000",
      "maxFeePerGas": "31000000000",
      "maxPriorityFeePerGas": "1500000000"
    }
  ],
  "signingExpiresAt": "2026-10-07T15:13:02.000Z",
  "txHashes": [],
  "received": null,
  "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-subscribe
