> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withconvexity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Token

> Issues a new tokenized asset and deploys it on the target chain. For a `YIELD_BEARING` token, supply `yieldParams`. Returns immediately with a `PENDING` token plus a deployment `operationRef` and `txHash`.



## OpenAPI

````yaml POST /v1/tokens
openapi: 3.1.0
info:
  title: Convexity Infra API
  version: 1.0.0
  description: >-
    REST API reference for Convexity Infra: the backend services your business
    integrates to build and operate on-chain products. Every response is wrapped
    in a `{ status, message, data }` envelope and authorized with an OAuth 2.0
    bearer token minted by Auth-Edge.
  contact:
    name: Convexity Infra
    url: https://withconvexity.com
    email: infra@withconvexity.com
servers:
  - url: https://api.convexity.tools
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Auth-Edge
    description: >-
      OAuth 2.0 token issuance. Exchange a project API key for a short-lived
      bearer token that authorizes every other Infra API call.
  - name: Projects
    description: >-
      Manage the calling project itself: rotate its API key pair and control
      which IP addresses may authenticate with it.
  - name: Payments
    description: >-
      List project and subscription payments, and mint virtual bank accounts
      (via KoraPay) for wallet top-ups and subscriptions.
  - name: Products
    description: >-
      Browse the products and capabilities available to your project. Each
      product maps to a plan and a set of capability keys.
  - name: Subscriptions
    description: List available plans and manage your project's subscriptions.
  - name: Wallet
    description: >-
      HD wallet lifecycle, balances, transfers, transaction signing, and
      supported-chain discovery. Wallets are scoped to the business in your
      token: accessing another business's wallet returns `403`.


      **Capabilities**: each operation is gated on a capability granted by your
      plan; a missing one returns `403: Missing required capability:
      <capability>`.


      | Capability | Grants |

      |---|---|

      | `wallet.hd.generate` | Generate wallets. |

      | `wallet.hd.read` | List and read wallets, counts, and HD status. |

      | `wallet.hd.sign` | Sign transactions. |

      | `wallet.hd.deactivate` | Deactivate a wallet. |

      | `wallet.transfer.create` | Initiate transfers. |

      | `wallet.transfer.read` | Read transaction history and records. |

      | `wallet.balance.read` | Read the USD balance. |
  - name: Indexer
    description: >-
      Subscribe to decoded on-chain events, receive signed webhooks, and inspect
      or replay delivery logs. Every endpoint requires a token with project +
      business context and a per-operation capability.
  - name: Tokenization
    description: >-
      Issue and manage tokenized real-world assets: create tokens, mint, burn,
      transfer, manage holders and registered wallets, and run yield operations
      (coupons, distributions, claims, and principal redemption).
paths:
  /v1/tokens:
    post:
      tags:
        - Tokenization
      summary: Create Token
      description: >-
        Issues a new tokenized asset and deploys it on the target chain. For a
        `YIELD_BEARING` token, supply `yieldParams`. Returns immediately with a
        `PENDING` token plus a deployment `operationRef` and `txHash`.
      operationId: createToken
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - ticker
                - name
                - chain
                - decimals
                - assetClass
                - tokenType
              properties:
                ticker:
                  type: string
                  description: Short token symbol (e.g. `ACMB3`).
                name:
                  type: string
                  description: Full token name.
                price:
                  type: number
                  description: Issue price per token in fiat major units.
                chain:
                  type: string
                  description: Target chain (e.g. `BASE`).
                decimals:
                  type: integer
                  description: Token decimals (e.g. `18`).
                assetClass:
                  type: string
                  description: Asset class (e.g. `MONEY_MARKET`).
                tokenType:
                  type: string
                  enum:
                    - ASSET
                    - YIELD_BEARING
                  description: >-
                    `ASSET` for a plain token; `YIELD_BEARING` for one that pays
                    yield.
                maxShareholders:
                  type: integer
                  description: Maximum holders; `0` for unlimited.
                maxTokensPerInvestor:
                  type: integer
                  description: Per-investor cap; `0` for unlimited.
                lockUpDuration:
                  type: integer
                  description: Lock-up in seconds; `0` for none.
                yieldParams:
                  type: object
                  description: Required when `tokenType` is `YIELD_BEARING`.
                  properties:
                    annualRate:
                      type: number
                      description: Annual yield rate (percentage).
                    maturityDate:
                      type: string
                      description: Maturity date (`YYYY-MM-DD`).
                    firstCouponDate:
                      type: string
                      description: First coupon date (`YYYY-MM-DD`).
                    couponInterval:
                      type: integer
                      description: Coupon interval in days.
                    dayCount:
                      type: string
                      description: Day-count convention (e.g. `ACT_365`).
                    faceValuePerToken:
                      type: number
                      description: Face value per token in fiat major units.
                    gracePeriod:
                      type: integer
                      description: Grace period in seconds.
                    callable:
                      type: boolean
                      description: Whether the instrument is callable.
                    callDate:
                      type: string
                      description: Call date (`YYYY-MM-DD`), if callable.
            example:
              ticker: ACMB3
              name: Acme 5y 7.5% Senior Unsecured
              price: 2
              chain: BASE
              decimals: 18
              assetClass: MONEY_MARKET
              tokenType: YIELD_BEARING
              maxShareholders: 0
              maxTokensPerInvestor: 0
              lockUpDuration: 0
              yieldParams:
                annualRate: 25
                maturityDate: '2026-06-21'
                firstCouponDate: '2026-06-21'
                couponInterval: 1
                dayCount: ACT_365
                faceValuePerToken: 2
                gracePeriod: 240
                callable: true
                callDate: '2026-06-21'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                status: true
                message: Token created successfully
                data:
                  id: 019edea4-e84d-722d-94ec-cb0fd331693d
                  chain: BASE
                  status: PENDING
                  operationRef: deploy_505930f3472b5c15d7d30f6aadb3418e
                  tokenAdmin: '0xd4449db2bc50a0c2b9da5780161308e644aec13d'
                  txHash: >-
                    0x581941f1a8de6b04f8d8debc82fcd8a0239ef14dda221bb52e6450442d7880de
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token from Auth-Edge.

````