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

# Submit batch transactions

> ### Response example

A sample **`200`** JSON body is attached to this operation as an OpenAPI **example** (Mintlify shows it in the example panel, similar to other exchange API docs).



## OpenAPI

````yaml /specs/openapi.json post /batch_transactions
openapi: 3.1.0
info:
  title: RocketFi REST API
  description: REST API for Rocket Chain / RocketFi integrations.
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://beta.rocketfi.io
    description: Beta
  - url: https://testnet.rocket-cluster-1.com
    description: Testnet
  - url: https://devnet.rocket-cluster-1.com
    description: Devnet
security: []
tags:
  - name: Service
    description: Health and availability.
  - name: Market data
    description: Instruments, candles, fees, leverage, and funding data.
  - name: Account
    description: Account nonce, fees, collateral, positions, and orders.
  - name: Trading
    description: Transactions and order activity.
  - name: Vault and bridge
    description: Vaults, history, and bridge events.
  - name: Faucet (testnet)
    description: Testnet faucet for development.
paths:
  /batch_transactions:
    post:
      tags:
        - Trading
      summary: Submit batch transactions
      description: >-
        ### Response example


        A sample **`200`** JSON body is attached to this operation as an OpenAPI
        **example** (Mintlify shows it in the example panel, similar to other
        exchange API docs).
      operationId: submit_transactions_batch
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Transaction'
        required: true
      responses:
        '200':
          description: Batch submitted
          content:
            text/plain:
              schema:
                type: string
              example: batch-accepted-id
components:
  schemas:
    Transaction:
      type: object
      required:
        - data
        - serializationFormat
        - signature
      properties:
        data:
          $ref: '#/components/schemas/RawTransaction'
        serializationFormat:
          $ref: '#/components/schemas/SerializationFormat'
        signature:
          type: string
          format: hex
        signatureScheme:
          $ref: '#/components/schemas/SignatureScheme'
          description: >-
            Signature scheme used for this transaction (defaults to EIP-191 for
            compatibility).
    RawTransaction:
      type: object
      required:
        - sender
        - instruction
        - nonce
      properties:
        instruction:
          $ref: '#/components/schemas/TransactionInstruction'
        nonce:
          type: integer
          format: int64
          minimum: 0
        sender:
          type: string
          format: hex
    SerializationFormat:
      type: string
      enum:
        - JSON
        - MessagePack
    SignatureScheme:
      type: string
      description: Signature scheme used for signing and verification.
      enum:
        - EIP191
        - EIP712
    TransactionInstruction:
      oneOf:
        - type: object
          required:
            - Mint
          properties:
            Mint:
              $ref: '#/components/schemas/MintData'
        - type: object
          required:
            - Withdraw
          properties:
            Withdraw:
              $ref: '#/components/schemas/WithdrawData'
        - type: object
          required:
            - CreateVault
          properties:
            CreateVault:
              $ref: '#/components/schemas/CreateVaultData'
        - type: object
          required:
            - VaultDeposit
          properties:
            VaultDeposit:
              $ref: '#/components/schemas/VaultDepositData'
        - type: object
          required:
            - VaultWithdraw
          properties:
            VaultWithdraw:
              $ref: '#/components/schemas/VaultWithdrawData'
        - type: object
          required:
            - DelegateManager
          properties:
            DelegateManager:
              $ref: '#/components/schemas/DelegateManagerData'
        - type: object
          required:
            - CreateProposal
          properties:
            CreateProposal:
              $ref: '#/components/schemas/CreateProposalData'
        - type: object
          required:
            - PlaceOrder
          properties:
            PlaceOrder:
              $ref: '#/components/schemas/OrderRequestSet'
        - type: object
          required:
            - SetLeverage
          properties:
            SetLeverage:
              $ref: '#/components/schemas/SetLeverageData'
        - type: object
          required:
            - UpdateOracleConfig
          properties:
            UpdateOracleConfig:
              $ref: '#/components/schemas/UpdateOracleConfigData'
        - type: object
          required:
            - ListAssets
          properties:
            ListAssets:
              $ref: '#/components/schemas/ListAssetsData'
        - type: object
          required:
            - ListInstruments
          properties:
            ListInstruments:
              $ref: '#/components/schemas/ListInstrumentsData'
        - type: object
          required:
            - SetIsTrading
          properties:
            SetIsTrading:
              $ref: '#/components/schemas/SetIsTradingData'
        - type: object
          required:
            - SetFeeTier
          properties:
            SetFeeTier:
              $ref: '#/components/schemas/SetFeeTierData'
        - type: object
          required:
            - SetFeeCollector
          properties:
            SetFeeCollector:
              $ref: '#/components/schemas/SetFeeCollectorData'
        - type: object
          required:
            - UpdateAssetScenarios
          properties:
            UpdateAssetScenarios:
              $ref: '#/components/schemas/UpdateAssetScenariosData'
        - type: object
          required:
            - FaucetClaim
          properties:
            FaucetClaim:
              $ref: '#/components/schemas/FaucetClaimData'
        - type: object
          required:
            - SetMainVault
          properties:
            SetMainVault:
              $ref: '#/components/schemas/SetMainVaultData'
        - type: object
          required:
            - DelistInstrument
          properties:
            DelistInstrument:
              $ref: '#/components/schemas/DelistInstrumentData'
        - type: object
          required:
            - SetMaxFundingRate
          properties:
            SetMaxFundingRate:
              $ref: '#/components/schemas/SetMaxFundingRateData'
        - type: object
          required:
            - RemoveDelegateManager
          properties:
            RemoveDelegateManager:
              $ref: '#/components/schemas/RemoveDelegateManagerData'
        - type: object
          required:
            - PlaceTWAP
          properties:
            PlaceTWAP:
              $ref: '#/components/schemas/PlaceTWAPRequest'
        - type: object
          required:
            - ModifyTWAP
          properties:
            ModifyTWAP:
              $ref: '#/components/schemas/ModifyTWAPRequest'
        - type: object
          required:
            - RemoveWebclientDelegates
          properties:
            RemoveWebclientDelegates:
              $ref: '#/components/schemas/RemoveWebclientDelegatesData'
    MintData:
      type: object
      required:
        - to
        - asset_id
        - amount
      properties:
        amount:
          type: string
          format: decimal
        asset_id:
          $ref: '#/components/schemas/usize'
        to:
          type: string
          format: hex
    WithdrawData:
      type: object
      required:
        - assetId
        - amount
        - to
      properties:
        amount:
          type: string
          format: decimal
        assetId:
          $ref: '#/components/schemas/usize'
        to:
          type: string
          format: hex
    CreateVaultData:
      type: object
      required:
        - depositAsset
        - initialDeposit
      properties:
        depositAsset:
          $ref: '#/components/schemas/usize'
        initialDeposit:
          type: string
          format: decimal
    VaultDepositData:
      type: object
      required:
        - vault
        - amount
      properties:
        amount:
          type: string
          format: decimal
        vault:
          type: string
          format: hex
    VaultWithdrawData:
      type: object
      required:
        - vault
        - shares
      properties:
        shares:
          type: string
          format: decimal
        vault:
          type: string
          format: hex
    DelegateManagerData:
      type: object
      required:
        - manager
        - name
      properties:
        expiryMs:
          type:
            - integer
            - 'null'
          format: int64
          minimum: 0
        isWebClient:
          type:
            - boolean
            - 'null'
        manager:
          type: string
          format: hex
        name:
          type: string
          format: max 20 characters
    CreateProposalData:
      type: object
      required:
        - proposal_type
        - proposal_data
      properties:
        proposal_data:
          $ref: '#/components/schemas/ProposalDataType'
        proposal_type:
          $ref: '#/components/schemas/ProposalType'
    OrderRequestSet:
      type: array
      items:
        $ref: '#/components/schemas/OrderRequest'
    SetLeverageData:
      type: object
      required:
        - to
        - instrumentId
        - leverage
      properties:
        instrumentId:
          $ref: '#/components/schemas/InstrumentId'
        leverage:
          type: integer
          format: int64
          minimum: 0
        to:
          type: string
          format: hex
    UpdateOracleConfigData:
      type: object
      properties:
        oracleSettings:
          type:
            - object
            - 'null'
          additionalProperties:
            $ref: '#/components/schemas/UpdateOracleConfigState'
          propertyNames:
            type: string
        quoteSymbolPattern:
          type:
            - string
            - 'null'
    ListAssetsData:
      type: object
      required:
        - assets
      properties:
        assets:
          type: array
          items:
            $ref: '#/components/schemas/AssetRowData'
    ListInstrumentsData:
      type: object
      required:
        - instruments
      properties:
        instruments:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentRowData'
    SetIsTradingData:
      type: object
      required:
        - instrument_id
        - is_trading
      properties:
        instrument_id:
          $ref: '#/components/schemas/InstrumentId'
        is_trading:
          type: boolean
    SetFeeTierData:
      type: object
      properties:
        liquidityProviderFeeRanking:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/LiquidityProviderFeeRanking'
        regularFeeLadder:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/FeeLadder'
    SetFeeCollectorData:
      type: object
      required:
        - feeCollector
      properties:
        feeCollector:
          $ref: '#/components/schemas/AccountAddress'
    UpdateAssetScenariosData:
      type: object
      required:
        - ticker
        - scenarioGrid
        - initialScenarioGrid
      properties:
        initialScenarioGrid:
          type: array
          items:
            type: integer
            format: int64
        scenarioGrid:
          type: array
          items:
            type: integer
            format: int64
        ticker:
          $ref: '#/components/schemas/String'
    FaucetClaimData:
      type: object
      description: |-
        Data for a faucet claim transaction.
        This transaction mints USDC (asset 0) to the sender's account.
        Only available when testnet_faucet_mode is enabled.
    SetMainVaultData:
      type: object
      required:
        - mainVaultAddress
        - mainVaultAdlRiskLimitPercent
      properties:
        mainVaultAddress:
          type: string
          format: hex
        mainVaultAdlRiskLimitPercent:
          type: string
          format: Percent value between 0.0 and 100.0
    DelistInstrumentData:
      type: object
      required:
        - instrument_id
      properties:
        instrument_id:
          $ref: '#/components/schemas/InstrumentId'
    SetMaxFundingRateData:
      type: object
      required:
        - instrument_id
        - max_funding_rate
      properties:
        instrument_id:
          $ref: '#/components/schemas/InstrumentId'
        max_funding_rate:
          type: integer
          format: int64
    RemoveDelegateManagerData:
      type: object
      required:
        - manager
      properties:
        manager:
          type: string
          format: hex
    PlaceTWAPRequest:
      type: object
      description: >-
        TWAP order request. Internally uses market order semantics
        (slippage-based pricing)

        with quantity released gradually over `twap_interval` milliseconds.
      required:
        - instrumentId
        - side
        - quantity
        - trader
        - maxSlippage
        - reduceOnly
        - twapInterval
      properties:
        frequency:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            Step frequency in milliseconds (15_000..=3_600_000). Defaults to 15s
            when absent.
          minimum: 0
        instrumentId:
          $ref: '#/components/schemas/InstrumentId'
        maxSlippage:
          type: string
          format: non-negative decimal
        quantity:
          type: string
          format: decimal
        randomize:
          type:
            - boolean
            - 'null'
          description: >-
            When true, step timing is randomized (deterministically) between 15s
            and 2min.
        reduceOnly:
          type: boolean
        side:
          $ref: '#/components/schemas/OrderSide'
        trader:
          $ref: '#/components/schemas/AccountAddress'
        twapInterval:
          type: integer
          format: int64
          description: >-
            TWAP interval in milliseconds (max 48h). Order quantity is released
            gradually over this duration.
          minimum: 0
    ModifyTWAPRequest:
      type: object
      description: Modify an existing TWAP order's interval and/or remaining quantity.
      required:
        - orderId
        - trader
      properties:
        newFrequency:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            New step frequency in milliseconds (15_000..=120_000). If `None`,
            unchanged.
          minimum: 0
        newQuantity:
          type:
            - string
            - 'null'
          format: decimal
          description: >-
            New total quantity (unsigned; the order's existing side is
            preserved). If `None`, the size is unchanged.
        newRandomize:
          type:
            - boolean
            - 'null'
          description: New randomize setting. If `None`, unchanged.
        newTwapInterval:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            New TWAP interval in milliseconds. If `None`, the interval is
            unchanged.
          minimum: 0
        orderId:
          $ref: '#/components/schemas/u64'
        trader:
          $ref: '#/components/schemas/AccountAddress'
    RemoveWebclientDelegatesData:
      type: object
    usize:
      type: integer
      minimum: 0
    ProposalDataType:
      oneOf:
        - type: object
          required:
            - CreateInstrument
          properties:
            CreateInstrument:
              $ref: '#/components/schemas/CreateInstrumentData'
        - type: object
          required:
            - CreateValidator
          properties:
            CreateValidator:
              $ref: '#/components/schemas/CreateValidatorData'
    ProposalType:
      type: string
      enum:
        - CreateInstrument
        - CreateValidator
    OrderRequest:
      oneOf:
        - type: object
          required:
            - Limit
          properties:
            Limit:
              $ref: '#/components/schemas/PlaceLimitOrderRequest'
        - type: object
          required:
            - Market
          properties:
            Market:
              $ref: '#/components/schemas/PlaceMarketOrderRequest'
        - type: object
          required:
            - Cancel
          properties:
            Cancel:
              $ref: '#/components/schemas/CancelOrderRequest'
        - type: object
          required:
            - CancelAll
          properties:
            CancelAll:
              $ref: '#/components/schemas/CancelAllOrderRequest'
        - type: object
          required:
            - Modify
          properties:
            Modify:
              $ref: '#/components/schemas/ModifyOrderRequest'
    InstrumentId:
      type: integer
      format: int64
      description: An instrument identifier (8-byte hash).
      minimum: 0
    UpdateOracleConfigState:
      type: object
      properties:
        assetTickerOverrides:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
          propertyNames:
            type: string
        priceScales:
          type:
            - object
            - 'null'
          additionalProperties:
            $ref: '#/components/schemas/UpdateOracleConfigPriceScale'
          propertyNames:
            type: string
    AssetRowData:
      type: object
      required:
        - ticker
        - haircut
        - mark_price
        - scenario_grid
        - initial_scenario_grid
      properties:
        haircut:
          $ref: '#/components/schemas/u32'
        initial_scenario_grid:
          type: array
          items:
            type: integer
            format: int64
        mark_price:
          $ref: '#/components/schemas/u64'
        scenario_grid:
          type: array
          items:
            type: integer
            format: int64
        ticker:
          $ref: '#/components/schemas/String'
    InstrumentRowData:
      type: object
      required:
        - underlying_asset_id
        - settlement_asset_id
        - expiry
        - strike
        - price_scale
        - quantity_scale
        - instrument_flags
        - is_trading
        - pnl_grid
        - initial_pnl_grid
      properties:
        expiry:
          $ref: '#/components/schemas/u64'
        initial_pnl_grid:
          type: array
          items:
            type: integer
            format: int64
        instrument_flags:
          $ref: '#/components/schemas/u16'
        is_trading:
          type: boolean
        pnl_grid:
          type: array
          items:
            type: integer
            format: int64
        price_scale:
          $ref: '#/components/schemas/i32'
        quantity_scale:
          $ref: '#/components/schemas/i32'
        settlement_asset_id:
          $ref: '#/components/schemas/usize'
        strike:
          $ref: '#/components/schemas/u64'
        underlying_asset_id:
          $ref: '#/components/schemas/usize'
    LiquidityProviderFeeRanking:
      type: array
      items:
        type: array
        items: false
        prefixItems:
          - type: integer
            format: int64
            minimum: 0
          - type: object
            required:
              - passive
              - active
            properties:
              active:
                $ref: '#/components/schemas/u64'
              passive:
                $ref: '#/components/schemas/u64'
    FeeLadder:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/FeeRates'
      propertyNames:
        type: integer
        format: int64
        minimum: 0
    AccountAddress:
      type: string
      format: hex
      description: An Ethereum-style account address (20 bytes).
    String:
      type: string
    OrderSide:
      type: string
      enum:
        - Buy
        - Sell
    u64:
      type: integer
      format: int64
      minimum: 0
    CreateInstrumentData:
      type: object
      required:
        - instrument_name
        - instrument_symbol
        - instrument_description
      properties:
        instrument_description:
          type: string
        instrument_name:
          type: string
        instrument_symbol:
          type: string
    CreateValidatorData:
      type: object
      required:
        - validator_name
        - validator_description
      properties:
        validator_description:
          type: string
        validator_name:
          type: string
    PlaceLimitOrderRequest:
      type: object
      required:
        - instrumentId
        - side
        - price
        - quantity
        - trader
        - reduceOnly
        - takeProfit
      properties:
        instrumentId:
          $ref: '#/components/schemas/InstrumentId'
        price:
          type: string
          format: decimal
        quantity:
          type: string
          format: decimal
        reduceOnly:
          type: boolean
        side:
          $ref: '#/components/schemas/OrderSide'
        takeProfit:
          type: boolean
        trader:
          $ref: '#/components/schemas/AccountAddress'
        triggerPrice:
          type:
            - string
            - 'null'
    PlaceMarketOrderRequest:
      type: object
      required:
        - instrumentId
        - side
        - quantity
        - trader
        - reduceOnly
        - takeProfit
        - maxSlippage
      properties:
        instrumentId:
          $ref: '#/components/schemas/InstrumentId'
        maxSlippage:
          type: string
          format: non-negative decimal
        quantity:
          type: string
          format: decimal
        reduceOnly:
          type: boolean
        side:
          $ref: '#/components/schemas/OrderSide'
        takeProfit:
          type: boolean
        trader:
          $ref: '#/components/schemas/AccountAddress'
        triggerPrice:
          type:
            - string
            - 'null'
    CancelOrderRequest:
      type: object
      required:
        - orderId
        - trader
      properties:
        orderId:
          $ref: '#/components/schemas/u64'
        trader:
          $ref: '#/components/schemas/AccountAddress'
    CancelAllOrderRequest:
      type: object
      required:
        - trader
      properties:
        instrumentId:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/InstrumentId'
        trader:
          $ref: '#/components/schemas/AccountAddress'
    ModifyOrderRequest:
      type: object
      required:
        - orderId
        - newPrice
        - trader
        - newQuantity
      properties:
        newPrice:
          type: string
          format: decimal
        newQuantity:
          type: string
          format: decimal
        newTriggerPrice:
          type:
            - string
            - 'null'
        orderId:
          $ref: '#/components/schemas/u64'
        trader:
          $ref: '#/components/schemas/AccountAddress'
    UpdateOracleConfigPriceScale:
      type: object
      required:
        - numerator
        - denominator
      properties:
        denominator:
          type: string
        numerator:
          type: string
    u32:
      type: integer
      format: int32
      minimum: 0
    u16:
      type: integer
      format: int32
      minimum: 0
    i32:
      type: integer
      format: int32
    FeeRates:
      type: object
      required:
        - passive
        - active
      properties:
        active:
          $ref: '#/components/schemas/u64'
        passive:
          $ref: '#/components/schemas/u64'

````