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

# newSto

> **Description:** This endpoint prepares unsigned transactions for the method selected in the `method` field. For exact required and optional body fields, use the method-specific endpoints under Create Transaction.

**Headers:**
- `x-api-key`: `YOUR_API_KEY` for API-key auth, or `X-Payment` for x402 retries on eligible agentic methods
- `Content-Type`: `application/json`

**Common Request Body Parameters:**
- `method` (string, required): Operation to prepare.
- `chainId` (string, required): Blockchain network identifier. Hex format is recommended, for example `aa36a7` for Sepolia.
- `signerAddress` (string, conditionally required): Wallet address that signs the prepared transaction. Most methods require it; `newInvest` and `claimTokens` can use `investorAddress` as the signer.
- `gasLimit` (string, optional): Gas limit override. If omitted, the API estimates gas automatically.
- `privateRpcUrl` (string, optional): Private RPC URL override.
- `nonce` (integer, optional): Nonce override. If omitted, the API reads the pending nonce from the RPC.

Prepares unsigned transactions for creating a new Security Token Offering (STO). Use `POST /prepare-transactions` with `method=newSto`.

## Next step

Preparing does not touch the chain. The response gives you `txId` and an array of unsigned `transactions` — you still have to sign and submit them.

<Steps>
  <Step title="Sign every returned transaction">
    Sign each entry locally with the wallet matching `signerAddress`. It must be whitelisted by Brickken, and it needs native gas on the target chain.
  </Step>

  <Step title="Submit the signed payloads">
    `POST` them to [`/send-transactions`](/api-reference/endpoint/send) as `{ txId, signedTransactions }` and Brickken broadcasts for you.

    If you would rather broadcast yourself, prepare with `executionMode: "client-broadcast"` and confirm afterwards with `{ txId, txHash }` instead.
  </Step>

  <Step title="Poll until it confirms">
    Call [`GET /get-transaction-status`](/api-reference/endpoint/get-transaction-status) with the `txId`. A `pending` status means it is broadcast but not yet mined — do not resubmit.
  </Step>
</Steps>

Full walkthrough: [Tokenize an asset and run an STO](/api-reference/guides/tokenize-and-run-an-sto).


## OpenAPI

````yaml POST /prepare-transactions
openapi: 3.1.0
info:
  title: Brickken API V2
  description: >-
    Welcome to the Brickken API documentation. This API allows customers to
    create and manage tokenization processes, including creating new
    tokenizations, minting/burning/transferring tokens, whitelisting users,
    manage tokens approvals. This documentation provides detailed information on
    how to use the API, including the necessary endpoints, request formats, and
    expected
    responses.</details><details><summary>**Authentication**</summary>All API
    requests require an API key for authentication. Include your API key in the
    `x-api-key` header of each request:<pre><code>```
      x-api-key: YOUR_API_KEY
    ```</code></pre>Ensure that your API key is kept secure and not shared
    publicly. A common parameter for all requests is the `signerAddress`. Such
    address MUST be whitelisted in our factory. To whitelist an address and/or
    request an API key either for sandbox/production environment please contact
    with: tech@brickken.com. Once a `signerAddress` performs a `newTokenization`
    we refer to that address as the tokenizer. The tokenizer will be the only
    one allowed to mint such token, distribute dividends on such token and
    whitelist/blacklist investors of such token. Regarding actions like
    transferring tokens or burning tokens, the `signerAddress` can be any user
    and not only the tokenizer.</details><details><summary>**Supported Networks
    & Addresses**</summary><details><summary>Sepolia (sandbox environment
    only)</summary><pre><code>```
      Chain Id: "aa36a7"
      Factory Address: "0x933ABAA95a7Fd0Bc683bDe2adB89f4C5EA64897b"
      BKN Address: "0x97a13487f889dc770Ac925Be2d3b6c833FA7746a"
      USDT Address: "0x28d2B01854D0aBec267a3DDcad9163580E6E8604"
      USDC Address: "0xb10cE8e28aEb1ae27b968Fb3bfed2FD7dd52daCb"
    ```</code></pre></details><details><summary>Base Sepolia (sandbox /
    testing)</summary><pre><code>```
      Chain Id: "84532" (hex "14a34")
      x402 USDC (Circle, EIP-3009): "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
      ERC-8004 Identity Registry: "0x8004A818BFB912233c491871b3d84c89A494BD9e"
      ERC-8004 Reputation Registry: "0x8004B663056A597Dffe9eCcC1965A193B7388713"
    ```</code></pre></details><details><summary>Ethereum mainnet (production
    environment only)</summary><pre><code>```
      Chain Id: "1"
      Factory Address: "0x91af681C85Ca98Efc5D69C1B62E6F435030969Db"
      BKN Address: "0x0A638F07ACc6969abF392bB009f216D22aDEa36d"
      USDT Address: "0xdac17f958d2ee523a2206206994597c13d831ec7"
      USDC Address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    ```</code></pre></details><details><summary>Base mainnet (production
    environment only)</summary><pre><code>```
      Chain Id: "2105"
      Factory Address: "0x278D7bdc2451B0Fa4087A68ce084a86cB91D4d83"
      BKN Address: "0xddB293BB5C5258F7484A94a0fBd5c8B2F6E4e376"
      USDT Address: N/A
      USDC Address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    ```</code></pre></details><details><summary>BNB Smart Chain mainnet
    (production environment only)</summary><pre><code>```
      Chain Id: "38"
      Factory Address: "0xCe4529Fe88df480BD777d3e32dfD7032e6C685ff"
      BKN Address: "0x0e28bC9B03971E95acF9ae1326E51ecF9C55B498"
      USDT Address: "0x55d398326f99059fF775485246999027B3197955"
      USDC Address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"
    ```</code></pre></details><details><summary>Avalance C Chain mainnet
    (production environment only)</summary><pre><code>```
      Chain Id: "a86a"
      Factory Address: "0xc6c230FA8F40022dE997727436Fae01caAbcDe61"
      BKN Address: "0xd44E4Dc8bdF7C1c62CfDBb182022097BA42Ac6bC"
      USDT Address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"
      USDC Address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"
    ```</code></pre></details></details><details><summary>**Usage
    Workflow**</summary><details><summary>1. **Prepare
    Transactions:**</summary>- Use the `POST /prepare-transactions` endpoint
    with the desired method (e.g., `newTokenization`, `mintToken`, etc...) to
    prepare the transaction(s).

    - The response will include an array of unsigned transactions that needs to
    be signed.<details><summary>**Example Of An Endpoint
    Response:**</summary>```json
      {
        "transactions": [
          {
            "from": "0xSignerAddress",
            "to": "0xTargetAddress",
            "value": {
              "type": "BigNumber",
              "hex": "0x00"
            },
            "nonce": 1,
            "chainId": 11155111,
            "data": "0x...",
            "type": 2,
            "maxPriorityFeePerGas": {
              "type": "BigNumber",
              "hex": "0x..."
            },
            "maxFeePerGas": {
              "type": "BigNumber",
              "hex": "0x..."
            },
            "gasLimit": {
              "type": "BigNumber",
              "hex": "0x..."
            }
          }
        ]
      }
    ```</details></details><details><summary>2. **Sign the
    Transactions:**</summary>- Use your preferred method or wallet to sign the
    transaction data provided in the response.

    - Ensure that the signer address matches the `signerAddress` provided in the
    initial request.<details><summary>**Example Of signing a transaction with
    typescript and `ethers-js`:**</summary>```typescript
      const tx = {...} // One of the object in the array returned by the `/prepare-transactions` endpoint
      const privateKey = process.env.PRIVATE_KEY;
      const wallet = new ethers.Wallet(privateKey);
      const signedTx = await wallet.signTransaction(tx);
      console.log('Signed Transaction:', signedTx);
    ```</details>**NOTE:** Be sure to have enough funds in the signer wallet to
    cover for the transaction cost</details><details><summary>3. **Submit Signed
    Transactions:**</summary>- Use the `POST /send-transactions` endpoint to
    submit the signed transaction(s) along with the required parameters.

    - The API will process the transactions, send them to the blockchain, and
    update the Brickken database accordingly.</details><details><summary>4.
    **Check Transaction Status:**</summary>- Use the `GET
    /get-transaction-status` endpoint to check the status of your transaction.

    - Provide either the on-chain transaction hash (`hash`) or the internal
    transaction ID (`txId`) to retrieve the
    status.</details></details><details><summary>**Environments**</summary>The
    API is available in several environments for testing and production
    purposes:- Sandbox: `https://api.sandbox.brickken.com/`

    - Master (Production): `https://api.brickken.com/`</details>


    The API also exposes x402scan discovery facade endpoints under /x402/... The
    public discovery target is https://api.brickken.com, with /.well-known/x402
    returning resource URLs and /openapi.json returning the generated OpenAPI
    3.1 document.
  version: 2.0.0
servers:
  - url: https://api.sandbox.brickken.com
    description: Sandbox Environment
  - url: https://api.brickken.com
    description: Production Environment
security:
  - apiKeyAuth: []
paths:
  /prepare-transactions:
    post:
      tags:
        - Endpoints
      summary: Prepare Transactions
      description: >-
        **Description:** This endpoint prepares unsigned transactions for the
        method selected in the `method` field. For exact required and optional
        body fields, use the method-specific endpoints under Create Transaction.


        **Headers:**

        - `x-api-key`: `YOUR_API_KEY` for API-key auth, or `X-Payment` for x402
        retries on eligible agentic methods

        - `Content-Type`: `application/json`


        **Common Request Body Parameters:**

        - `method` (string, required): Operation to prepare.

        - `chainId` (string, required): Blockchain network identifier. Hex
        format is recommended, for example `aa36a7` for Sepolia.

        - `signerAddress` (string, conditionally required): Wallet address that
        signs the prepared transaction. Most methods require it; `newInvest` and
        `claimTokens` can use `investorAddress` as the signer.

        - `gasLimit` (string, optional): Gas limit override. If omitted, the API
        estimates gas automatically.

        - `privateRpcUrl` (string, optional): Private RPC URL override.

        - `nonce` (integer, optional): Nonce override. If omitted, the API reads
        the pending nonce from the RPC.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                  example: newTokenization
                  enum:
                    - newTokenization
                    - newSto
                    - newInvest
                    - claimTokens
                    - mintToken
                    - whitelist
                    - approve
                    - burnToken
                    - transferFrom
                    - transferTo
                    - dividendDistribution
                    - closeOffer
                    - newTokenizedAgent
                    - agentRegister
                    - agentSetURI
                    - agentSetMetadata
                    - agentSetWallet
                    - agentTransferOwnership
                    - agentGiveFeedback
                    - agentRevokeFeedback
                    - agentAppendFeedbackResponse
                    - agentCreateToken
                    - agentMintToken
                    - agentBurnToken
                    - agentTransferToken
                    - agentTransferFromToken
                    - agentApproveToken
                  description: >-
                    The operation to be performed. Includes standard
                    tokenization methods and x402-eligible agentic methods.
                    Agentic methods can also be addressed through /x402/...
                    facade endpoints, where the method is derived from the path.
                    newTokenizedAgent remains a legacy alias for direct
                    /prepare-transactions calls and is not listed in x402scan
                    discovery.
                signerAddress:
                  type: string
                  description: >-
                    Optional. Wallet address that will sign the prepared
                    transaction. If omitted, the API uses investorAddress for
                    this method.
                  example: '0x742d35Cc6634C0532925a3b8D4C9db96c4b4d8b'
                chainId:
                  type: string
                  description: >-
                    Required. Blockchain network identifier. Hex format is
                    recommended, for example Sepolia `aa36a7`.
                  example: aa36a7
                tokenSymbol:
                  type: string
                  description: >-
                    Required. Token symbol. Must be 2 to 5 uppercase letters or
                    numbers.
                  example: EXMPL
                tokenType:
                  type: string
                  enum:
                    - EQUITY
                    - DEBT
                    - BILL_FACTORING
                    - ICO
                    - STABLECOIN
                    - REVENUE_SHARE
                    - RWA_TOKEN
                    - PROFIT_SHARING
                  example: EQUITY
                  description: Optional. Token type. Defaults to EQUITY when omitted.
                tokenizerEmail:
                  type: string
                  description: >-
                    Optional. Tokenizer email. Required for newTokenization,
                    newSto, and closeOffer.
                  example: tokenizer@example.com
                  format: email
                acceptedCoin:
                  type: string
                  description: Required. Accepted payment token symbol.
                  example: USDT
                amount:
                  type: string
                  description: >-
                    Optional. Amount used by approve, burnToken, transferFrom,
                    transferTo, and dividendDistribution.
                  example: '100'
                endDate:
                  type: string
                  description: Required. STO end date.
                  example: '2026-12-31T23:59:59.000Z'
                  format: date-time
                from:
                  type: string
                  description: Optional. Source address required by transferFrom.
                  example: '0x1111111111111111111111111111111111111111'
                  pattern: ^0x[a-fA-F0-9]{40}$
                gasLimit:
                  type: string
                  description: >-
                    Optional. Gas limit override. If omitted, the API estimates
                    gas automatically.
                  example: '2000000'
                initialHolders:
                  type: array
                  description: >-
                    Optional. Initial holders paired by index with preMints.
                    Provide walletAddress directly, or email when a DFNS wallet
                    can be resolved.
                  items:
                    type: object
                    properties:
                      walletAddress:
                        type: string
                        description: Optional. Holder wallet address.
                        example: '0x1111111111111111111111111111111111111111'
                        pattern: ^0x[a-fA-F0-9]{40}$
                      email:
                        type: string
                        description: >-
                          Optional. Holder email used to resolve a DFNS wallet
                          when walletAddress is omitted.
                        example: holder@example.com
                        format: email
                  example:
                    - walletAddress: '0x1111111111111111111111111111111111111111'
                investmentAmount:
                  type: string
                  description: Required. Payment-token amount to invest.
                  example: '1000'
                investorAddress:
                  type: string
                  description: >-
                    Optional. Investor wallet address. Required for newInvest
                    and claimTokens; optional for approve payment-token owner
                    scope.
                  example: '0x1111111111111111111111111111111111111111'
                  pattern: ^0x[a-fA-F0-9]{40}$
                investorEmail:
                  type: string
                  description: >-
                    Optional. Investor email. Required for newInvest,
                    claimTokens, burnToken, and each whitelist/mint recipient.
                  example: investor@example.com
                  format: email
                maxInvestment:
                  type: string
                  description: Required. Maximum investment amount.
                  example: '10000'
                maxRaiseUSD:
                  type: string
                  description: Required. Maximum raise amount in USD.
                  example: '100000'
                minInvestment:
                  type: string
                  description: Required. Minimum investment amount.
                  example: '100'
                minRaiseUSD:
                  type: string
                  description: Required. Minimum raise amount in USD.
                  example: '10000'
                name:
                  type: string
                  description: Required. Name of the tokenized asset.
                  example: Example Token
                newInvestor:
                  type: object
                  description: >-
                    Optional. Default profile data used when creating missing
                    investor users.
                  properties:
                    name:
                      type: string
                      description: Optional. Investor first name.
                      example: John
                    surname:
                      type: string
                      description: Optional. Investor surname.
                      example: Doe
                    middleName:
                      type: string
                      description: Optional. Investor middle name.
                      example: A.
                    secondSurname:
                      type: string
                      description: Optional. Investor second surname.
                      example: Smith
                    type:
                      type: string
                      description: Optional. Investor type. Defaults to INVESTOR_PERSON.
                      example: INVESTOR_PERSON
                offeringName:
                  type: string
                  description: Required. Name of the STO offering.
                  example: Series A
                paymentTokenSymbol:
                  type: string
                  description: >-
                    Optional. Payment token symbol used by newInvest. If
                    omitted, the chain default payment token is used.
                  example: USDT
                preMints:
                  type: array
                  description: >-
                    Optional. Pre-mint amounts. If provided, initialHolders must
                    also be provided with the same length.
                  items:
                    type: object
                    required:
                      - amount
                    properties:
                      amount:
                        type: string
                        description: >-
                          Required. Amount to pre-mint to the holder at the same
                          array index.
                        example: '1000'
                  example:
                    - amount: '1000'
                privateRpcUrl:
                  type: string
                  description: >-
                    Optional. Private RPC URL override. If omitted, the API uses
                    the configured RPC for chainId.
                  example: https://rpc.example.com
                spenderAddress:
                  type: string
                  description: Optional. Spender address required by approve.
                  example: '0x3333333333333333333333333333333333333333'
                  pattern: ^0x[a-fA-F0-9]{40}$
                startDate:
                  type: string
                  description: Required. STO start date.
                  example: '2026-09-01T00:00:00.000Z'
                  format: date-time
                supplyCap:
                  type: string
                  description: >-
                    Optional. Maximum token supply. Defaults to `0` when
                    omitted.
                  example: '1000000'
                to:
                  type: string
                  description: >-
                    Optional. Destination address required by transferFrom and
                    transferTo.
                  example: '0x2222222222222222222222222222222222222222'
                  pattern: ^0x[a-fA-F0-9]{40}$
                tokenAmount:
                  type: string
                  description: Required. Number of tokens offered in the STO.
                  example: '1000'
                tokenizerAddress:
                  type: string
                  description: >-
                    Optional. Tokenizer wallet address used by tokenization
                    setup flows when provided.
                  example: '0x4444444444444444444444444444444444444444'
                  pattern: ^0x[a-fA-F0-9]{40}$
                url:
                  type: string
                  description: >-
                    Optional. Token documentation URL. Defaults to an empty
                    string when omitted.
                  example: https://example.com/token-docs
                userToMint:
                  type: array
                  minItems: 1
                  description: Required. Users to mint tokens to.
                  items:
                    type: object
                    required:
                      - investorEmail
                      - amount
                    properties:
                      investorEmail:
                        type: string
                        description: Required. Recipient investor email.
                        example: investor@example.com
                        format: email
                      amount:
                        type: string
                        description: Required. Positive whole-token amount to mint.
                        example: '100'
                      investorAddress:
                        type: string
                        description: >-
                          Optional. Recipient wallet address. If omitted, the
                          API attempts to create or resolve a DFNS wallet.
                        example: '0x1111111111111111111111111111111111111111'
                        pattern: ^0x[a-fA-F0-9]{40}$
                      needWhitelist:
                        type: boolean
                        description: >-
                          Optional. Whether the recipient should be whitelisted
                          before minting. Defaults to true unless explicitly
                          false.
                        example: true
                      name:
                        type: string
                        description: >-
                          Optional. Investor first name used when creating a new
                          investor record.
                        example: John
                      surname:
                        type: string
                        description: >-
                          Optional. Investor surname used when creating a new
                          investor record.
                        example: Doe
                  example:
                    - investorEmail: investor@example.com
                      investorAddress: '0x1111111111111111111111111111111111111111'
                      amount: '100'
                      needWhitelist: true
                userToWhitelist:
                  type: array
                  minItems: 1
                  description: Required. Users to whitelist or blacklist.
                  items:
                    type: object
                    required:
                      - investorAddress
                      - investorEmail
                      - whitelistStatus
                    properties:
                      investorAddress:
                        type: string
                        description: Required. Investor wallet address.
                        example: '0x1111111111111111111111111111111111111111'
                        pattern: ^0x[a-fA-F0-9]{40}$
                      investorEmail:
                        type: string
                        description: Required. Investor email used for the investor record.
                        example: investor@example.com
                        format: email
                      whitelistStatus:
                        type: boolean
                        description: Required. `true` to whitelist, `false` to blacklist.
                        example: true
                  example:
                    - investorAddress: '0x1111111111111111111111111111111111111111'
                      investorEmail: investor@example.com
                      whitelistStatus: true
                ownerEmail:
                  type: string
                  example: owner@example.com
                  description: Tokenizer owner email used by agentic methods.
                email:
                  type: string
                  example: reviewer@example.com
                  description: Tracking email used by feedback and agent token methods.
                services:
                  type: array
                  items:
                    type: object
                  description: Agent service descriptors used by agentRegister.
                metadata:
                  type: object
                  description: Agent metadata stored in the registration file.
                aiModelName:
                  type: string
                  example: gpt-4o
                  description: AI model name for agent registration or metadata updates.
                aiModelProvider:
                  type: string
                  example: openai
                  description: AI model provider stored in the agent profile.
                agentUuid:
                  type: string
                  description: Internal tokenized agent UUID returned by agentRegister.
                agentId:
                  oneOf:
                    - type: string
                    - type: number
                  description: On-chain ERC-8004 agent ID.
                metadataKey:
                  type: string
                  example: modelName
                  description: Metadata key used by agentSetMetadata.
                metadataValue:
                  description: Metadata value used by agentSetMetadata.
                metadataEncoding:
                  type: string
                  enum:
                    - string
                    - json
                    - hex
                  description: Encoding mode for agentSetMetadata.
                newWallet:
                  type: string
                  description: Agent wallet assigned by agentSetWallet.
                signature:
                  type: string
                  description: Hex signature used by agentSetWallet.
                deadline:
                  oneOf:
                    - type: string
                    - type: number
                  description: Signature deadline used by agentSetWallet.
                feedbackIndex:
                  oneOf:
                    - type: string
                    - type: number
                  description: Feedback index used by reputation methods.
                clientAddress:
                  type: string
                  description: Reviewer/client address used by agentAppendFeedbackResponse.
                responseURI:
                  type: string
                  description: Off-chain response URI used by agentAppendFeedbackResponse.
                feedbackURI:
                  type: string
                  description: Off-chain feedback URI used by agentGiveFeedback.
                feedbackHash:
                  type: string
                  description: Optional 32-byte content hash for feedback.
                responseHash:
                  type: string
                  description: Optional 32-byte content hash for a feedback response.
                agentWallet:
                  type: string
                  description: Operational agent wallet used by agentCreateToken.
                symbol:
                  type: string
                  example: MAT
                  description: Agent token symbol used by agentCreateToken.
                premint:
                  type: string
                  description: Human-readable premint amount used by agentCreateToken.
                decimals:
                  type: number
                  description: Agent token decimals. Defaults to 18.
                tokenAddress:
                  type: string
                  description: >-
                    Deployed agent token address used by agentMintToken and
                    agentBurnToken.
                x402Support:
                  type: boolean
                  description: >-
                    Whether the registered agent declares x402 support in its
                    profile.
                active:
                  type: boolean
                  description: Whether the registered agent should appear active.
                nonce:
                  type: integer
                  description: >-
                    Optional. Nonce override. If omitted, the API reads the
                    pending nonce from the RPC.
                  example: 12
                paymentTokenAddress:
                  type: string
                  description: >-
                    Optional. Payment token contract address override. If
                    omitted, the chain default payment token is used.
                  example: '0x5555555555555555555555555555555555555555'
                  pattern: ^0x[a-fA-F0-9]{40}$
              required:
                - method
                - chainId
              example:
                method: newTokenization
                signerAddress: '0x742d35Cc6634C0532925a3b8D4C9db96c4b4d8b'
                chainId: aa36a7
                tokenizerEmail: tokenizer@example.com
                name: Example Token
                tokenSymbol: EXMPL
                tokenType: EQUITY
                supplyCap: '1000000'
                url: https://example.com/token-docs
                preMints:
                  - amount: '1000'
                initialHolders:
                  - walletAddress: '0x1111111111111111111111111111111111111111'
            example:
              method: newTokenization
              signerAddress: '0x742d35Cc6634C0532925a3b8D4C9db96c4b4d8b'
              chainId: aa36a7
              tokenizerEmail: tokenizer@example.com
              name: Example Token
              tokenSymbol: EXMPL
              tokenType: EQUITY
              supplyCap: '1000000'
              url: https://example.com/token-docs
              preMints:
                - amount: '1000'
              initialHolders:
                - walletAddress: '0x1111111111111111111111111111111111111111'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactions:
                    type: array
                    description: Array of unsigned transaction objects ready for signing
                    items:
                      type: object
                      properties:
                        from:
                          type: string
                          description: Sender address
                          example: '0x1234567890abcdef1234567890abcdef12345678'
                        to:
                          type: string
                          description: Recipient address
                          example: '0xabcdef1234567890abcdef1234567890abcdef12'
                        value:
                          type: string
                          description: Transaction value in hex
                          example: '0x00'
                        nonce:
                          type: integer
                          description: Transaction nonce
                          example: 3792
                        chainId:
                          type: integer
                          description: Blockchain network chain ID
                          example: 11155111
                        data:
                          type: string
                          description: Transaction data payload
                          example: >-
                            0xd362e8a70000000000000000000000000000000000000000000000000000000000000040...
                        type:
                          type: integer
                          description: Transaction type (EIP-1559)
                          example: 2
                        maxPriorityFeePerGas:
                          type: string
                          description: Maximum priority fee per gas
                          example: '1150000'
                        maxFeePerGas:
                          type: string
                          description: Maximum fee per gas
                          example: '1156037'
                        gasLimit:
                          type: string
                          description: Gas limit in hex
                          example: '0xccef'
                  info:
                    type: object
                    description: Metadata about the operation
                    properties:
                      tokenizerEmail:
                        type: string
                        description: Email of the tokenizer
                        example: tokenizer@example.com
                      tokenSymbol:
                        type: string
                        description: Symbol of the token
                        example: EXMPL
                      investorEmail:
                        type: string
                        description: Email of the investor (when applicable)
                        example: investor@example.com
                  txId:
                    type: string
                    description: >-
                      Unique identifier for this transaction batch (required for
                      /send-transactions). This is NOT a blockchain transaction
                      hash.
                    example: >-
                      0x46adea7bdf49c576a760102e0d6bc9ecd650b3998588cd3d7f576a7973426aad
                required:
                  - transactions
                  - txId
        '402':
          description: >-
            x402 payment required. The response includes a PAYMENT-REQUIRED
            header with a base64-encoded x402 payment request.
      security:
        - apiKeyAuth: []
        - x402Payment: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    x402Payment:
      type: apiKey
      in: header
      name: X-Payment
      description: >-
        Base64-encoded x402 payment payload. Supported for x402-eligible agentic
        methods on /x402/... facades, /prepare-transactions, and eligible
        /send-transactions retries.

````