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

# Place Order

> Place a spot order on the connected exchange using a route from the tradable assets endpoint. Kraken is supported first; the API calls the wallet client's modular trading method so additional exchanges can implement the same contract later.

**Required API Key Scopes:** `trade`



## OpenAPI

````yaml https://api-bluvo.com/api/v0/openapi post /v0/wallet/trade/order
openapi: 3.1.0
info:
  title: Bluvo API (v0)
  description: APIs to supercharge your crypto project.
  version: 0.0.3
  termsOfService: https://bluvo.co/terms
  contact:
    name: Bluvo
    email: help@bluvo.co
    url: https://bluvo.co
servers:
  - url: https://api-bluvo.com
    description: Production Server
  - url: https://test.api-bluvo.com
    description: Development Server
security: []
paths:
  /v0/wallet/trade/order:
    post:
      tags:
        - Trading
      summary: Place Order
      description: >-
        Place a spot order on the connected exchange using a route from the
        tradable assets endpoint. Kraken is supported first; the API calls the
        wallet client's modular trading method so additional exchanges can
        implement the same contract later.


        **Required API Key Scopes:** `trade`
      operationId: wallettradeorderplaceorder
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                routeId:
                  type: string
                side:
                  type: string
                  enum:
                    - buy
                    - sell
                type:
                  type: string
                  enum:
                    - market
                    - limit
                volume:
                  type: string
                  minLength: 1
                price:
                  type: string
                  minLength: 1
              required:
                - routeId
                - side
                - type
                - volume
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
                  txid:
                    type: array
                    items:
                      type: string
                  exchange:
                    type: string
                  routeId:
                    type: string
                  description:
                    type: string
                  rawResponse: {}
                required:
                  - orderId
                  - txid
                  - exchange
                  - routeId
                  - description
              example:
                orderId: OABC12-DEF34-GHIJKL
                txid:
                  - OABC12-DEF34-GHIJKL
                exchange: kraken
                routeId: kraken:spot:DOGE-USDC
                description: sell 70.00000000 XDGUSDC @ market
                rawResponse:
                  txid:
                    - OABC12-DEF34-GHIJKL
                  descr:
                    order: sell 70.00000000 XDGUSDC @ market
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  type:
                    type: string
                    enum:
                      - GENERIC_NOT_FOUND
                      - GENERIC_UNAUTHORIZED
                      - GENERIC_INTERNAL_SERVER_ERROR
                      - GENERIC_VALIDATION_ERROR
                      - GENERIC_INVALID_REQUEST
                      - GENERIC_RATE_LIMIT_EXCEEDED
                      - APIKEY_INSUFFICIENT_PERMISSIONS
                      - WALLET_NOT_FOUND
                      - WALLET_INVALID_CREDENTIALS
                      - WALLET_IDENTITY_NOT_FOUND
                      - QUOTE_NOT_FOUND
                      - QUOTE_EXPIRED
                      - WITHDRAWAL_INSUFFICIENT_BALANCE
                      - WITHDRAWAL_INSUFFICIENT_BALANCE_FOR_FEE
                      - WITHDRAWAL_INVALID_ADDRESS
                      - WITHDRAWAL_NETWORK_NOT_SUPPORTED
                      - WITHDRAWAL_TOO_MANY_ADDRESSES
                      - WITHDRAWAL_FUNDING_ADDRESS_CONFLICT
                      - WITHDRAWAL_AMOUNT_BELOW_MINIMUM
                      - WITHDRAWAL_AMOUNT_ABOVE_MAXIMUM
                      - WITHDRAWAL_ASSET_NOT_SUPPORTED
                      - WITHDRAWAL_PROVIDER_ERROR
                      - WITHDRAWAL_2FA_REQUIRED_TOTP
                      - WITHDRAWAL_2FA_REQUIRED_SMS
                      - WITHDRAWAL_2FA_REQUIRED_FACE_RECOGNITION
                      - WITHDRAWAL_2FA_REQUIRED_EMAIL
                      - WITHDRAWAL_2FA_REQUIRED_YUBIKEY
                      - WITHDRAWAL_2FA_REQUIRED_PASSPHRASE
                      - WITHDRAWAL_2FA_REQUIRED_MULTI_STEPS
                      - WITHDRAWAL_2FA_INCOMPLETE
                      - WITHDRAWAL_2FA_INVALID
                      - WITHDRAWAL_2FA_METHOD_NOT_SUPPORTED
                      - WITHDRAWAL_KYC_REQUIRED
                      - WITHDRAWAL_EMAIL_UNVERIFIED
                      - WITHDRAWAL_RATE_LIMIT_EXCEEDED
                      - OAUTH_AUTHORIZATION_FAILED
                      - OAUTH_TOKEN_EXCHANGE_FAILED
                      - OAUTH_INVALID_STATE
                      - OAUTH_INSUFFICIENT_SCOPE
                      - OAUTH_QR_CODE_UNAVAILABLE
                      - OAUTH_COUNTRY_NOT_DETECTED
                      - OAUTH_COUNTRY_NOT_SUPPORTED
                      - OAUTH_COUNTRY_CODE_INVALID
                      - WEBHOOK_SIGNATURE_INVALID
                      - WEBHOOK_MISSING_HEADERS
                      - WEBHOOK_INVALID_TIMESTAMP
                      - CACHE_MISS
                      - CACHE_EXPIRED
                      - CACHE_INVALID_PATH
                      - DEPOSIT_NOT_IMPLEMENTED
                      - DEPOSIT_ASSET_REQUIRED
                      - DEPOSIT_NETWORK_REQUIRED
                      - DEPOSIT_METHODS_UNAVAILABLE
                      - DEPOSIT_ADDRESS_UNAVAILABLE
                      - DEPOSIT_EXCHANGE_NOT_SUPPORTED
                      - DEPOSIT_METHOD_NOT_RESOLVED
                      - WITHDRAWAL_DRY_RUN_COMPLETE
                      - TRADING_DATA_UNAVAILABLE
                      - TRADING_EXCHANGE_NOT_SUPPORTED
                      - TRADING_ROUTE_NOT_FOUND
                      - TRADING_ROUTE_UNAVAILABLE
                      - TRADING_ORDER_TYPE_NOT_SUPPORTED
                      - TRADING_ORDER_NOT_FOUND
                      - TRADING_PROVIDER_ERROR
                      - INFO_ASSET_REQUIRED
                      - INFO_FEE_EXCHANGE_NOT_SUPPORTED
                      - ENRICHMENT_NETWORK_NOT_SUPPORTED
                      - ENRICHMENT_TIMEOUT
                      - ENRICHMENT_API_ERROR
                  result: {}
                required:
                  - error
                  - type
              example:
                error: 'Trading route not found: kraken:spot:DOGE-USDC'
                type: TRADING_ROUTE_NOT_FOUND
        '403':
          description: Forbidden - Insufficient API key permissions
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  type:
                    type: string
                    const: APIKEY_INSUFFICIENT_PERMISSIONS
                  missing:
                    type: array
                    items:
                      type: string
                required:
                  - error
                  - type
                  - missing
              example:
                error: Insufficient permissions
                type: APIKEY_INSUFFICIENT_PERMISSIONS
                missing:
                  - trade
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  type:
                    type: string
                    const: WALLET_NOT_FOUND
                  result: {}
                required:
                  - error
                  - type
              example:
                error: Wallet not found
                type: WALLET_NOT_FOUND
      security:
        - bluvoApiKey:
            - x-bluvo-api-key
          bluvoOrgId:
            - x-bluvo-org-id
          bluvoProjectId:
            - x-bluvo-project-id
          bluvoWalletId:
            - x-bluvo-wallet-id
components:
  securitySchemes:
    bluvoApiKey:
      type: apiKey
      name: x-bluvo-api-key
      in: header
      description: Bluvo API Key
    bluvoOrgId:
      type: apiKey
      name: x-bluvo-org-id
      in: header
      description: Bluvo Organization ID
    bluvoProjectId:
      type: apiKey
      name: x-bluvo-project-id
      in: header
      description: Bluvo Project ID
    bluvoWalletId:
      type: apiKey
      name: x-bluvo-wallet-id
      in: header
      description: Bluvo Wallet ID

````