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

# sendTransaction

> Gửi một giao dịch đã ký đến cụm để xử lý.

Phương thức này không thay đổi giao dịch theo bất kỳ cách nào; nó chuyển tiếp nguyên trạng giao dịch do máy khách tạo đến nút.

Nếu dịch vụ RPC của nút nhận được giao dịch, phương thức này sẽ thành công ngay lập tức mà không chờ bất kỳ xác nhận nào. Phản hồi thành công từ phương thức này không đảm bảo giao dịch được cụm xử lý hoặc xác nhận.

Mặc dù dịch vụ RPC sẽ thử gửi lại trong phạm vi hợp lý, giao dịch vẫn có thể bị từ chối nếu recent\_blockhash của giao dịch hết hạn trước khi giao dịch được ghi nhận.

Sử dụng [getSignatureStatuses](/docs/vi/api-reference/rpc/http/getsignaturestatuses) để đảm bảo giao dịch đã được xử lý và xác nhận.

<Tip>
  Đối với các yêu cầu gửi nhạy cảm với độ trễ, [Helius Sender](/docs/vi/sending-transactions/sender) chấp nhận cùng yêu cầu `sendTransaction` và gửi đồng thời qua tất cả các tuyến (Helius, Jito, Harmonic, Rakurai, v.v.). Dịch vụ này không tiêu tốn tín dụng API — bạn trả phí cho mỗi giao dịch bằng tiền thưởng SOL. Xem phần ["Tôi nên chọn phương án nào?"](/docs/vi/sending-transactions/overview#tôi-nên-chọn-phương-án-nào). Ví dụ có thể chạy: [Gửi giao dịch đã ký bằng Sender](/docs/vi/sending-transactions/sender#hướng-dẫn-bắt-đầu-nhanh).
</Tip>

Trước khi gửi, các bước kiểm tra trước sau đây được thực hiện:

1. Chữ ký của giao dịch được xác minh
2. Giao dịch được mô phỏng dựa trên slot ngân hàng do mức cam kết kiểm tra trước chỉ định. Nếu thất bại, một lỗi sẽ được trả về. Có thể tắt các bước kiểm tra trước nếu muốn. Nên chỉ định cùng một mức cam kết và mức cam kết kiểm tra trước để tránh hành vi khó hiểu.

Chữ ký được trả về là chữ ký đầu tiên trong giao dịch và được dùng để nhận dạng giao dịch (ID giao dịch). Có thể dễ dàng trích xuất mã định danh này từ dữ liệu giao dịch trước khi gửi.

## Tham số yêu cầu

<ParamField body="transaction" type="string" required>
  Giao dịch Solana đã được ký đầy đủ, được mã hóa dưới dạng chuỗi base-58 để gửi lên blockchain.
</ParamField>

<ParamField body="encoding" type="string">
  Định dạng mã hóa dữ liệu được dùng cho tải trọng giao dịch Solana.

  * `base58`
  * `base64`
</ParamField>

<ParamField body="skipPreflight" type="boolean">
  Khi là true, bỏ qua bước xác thực giao dịch trước khi gửi của Solana để gửi nhanh hơn.
</ParamField>

<ParamField body="preflightCommitment" type="string">
  Mức cam kết của mạng Solana dùng cho các bước kiểm tra xác thực giao dịch.

  * `confirmed`
  * `finalized`
  * `processed`
</ParamField>

<ParamField body="maxRetries" type="number">
  Số lần thử lại tự động tối đa khi gửi giao dịch Solana thất bại.
</ParamField>

<ParamField body="minContextSlot" type="number">
  Slot tối thiểu trên blockchain Solana cần thiết để xử lý giao dịch.
</ParamField>


## OpenAPI

````yaml vi/openapi/rpc-http/sendTransaction.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    API gửi giao dịch Solana nhanh chóng và đáng tin cậy để gửi các giao dịch đã
    ký đến blockchain Solana, với các tùy chọn kiểm tra trước và thử lại có thể
    cấu hình.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Điểm cuối RPC Mainnet
  - url: https://devnet.helius-rpc.com
    description: Điểm cuối RPC Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: sendTransaction
      description: >
        Gửi các giao dịch đã ký đến mạng blockchain Solana với các tùy chọn có
        thể cấu hình. 

        API thiết yếu này cho phép các ứng dụng phát giao dịch để xác thực và 

        đưa vào sổ cái, đồng thời hỗ trợ mọi loại giao dịch Solana, bao gồm
        chuyển token, 

        đúc NFT, gọi hợp đồng thông minh và triển khai chương trình. Các tính
        năng bao gồm kiểm tra 

        trước, logic thử lại có thể tùy chỉnh và phản hồi chữ ký giao dịch tức
        thì để 

        theo dõi trạng thái xác nhận.
      operationId: sendTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  description: Phiên bản giao thức JSON-RPC.
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Mã định danh duy nhất cho yêu cầu.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  enum:
                    - sendTransaction
                  description: Tên của phương thức RPC cần gọi.
                  example: sendTransaction
                  default: sendTransaction
                params:
                  type: array
                  description: Các tham số để gửi giao dịch.
                  default:
                    - >-
                      4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          Giao dịch Solana đã được ký đầy đủ, được mã hóa dưới
                          dạng chuỗi base-58 để gửi lên blockchain.
                        example: >-
                          4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT
                      - type: object
                        description: >-
                          Các tùy chọn cấu hình nâng cao để gửi và xử lý giao
                          dịch Solana.
                        properties:
                          encoding:
                            type: string
                            description: >-
                              Định dạng mã hóa dữ liệu được sử dụng cho phần tải
                              giao dịch Solana.
                            enum:
                              - base58
                              - base64
                            example: base64
                          skipPreflight:
                            type: boolean
                            description: >-
                              Khi là true, bỏ qua bước xác thực giao dịch trước
                              của Solana để gửi nhanh hơn.
                            example: false
                          preflightCommitment:
                            type: string
                            description: >-
                              Mức cam kết của mạng Solana cho các bước kiểm tra
                              xác thực giao dịch.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          maxRetries:
                            type: integer
                            description: >-
                              Số lần thử lại tự động tối đa khi gửi giao dịch
                              Solana thất bại.
                            example: 5
                          minContextSlot:
                            type: integer
                            description: >-
                              Slot tối thiểu trên blockchain Solana cần thiết để
                              xử lý giao dịch.
                            example: 1000
      responses:
        '200':
          description: Đã gửi giao dịch thành công.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: Phiên bản giao thức JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Mã định danh khớp với yêu cầu.
                    example: '1'
                  result:
                    type: string
                    description: >-
                      Chữ ký giao dịch Solana duy nhất để theo dõi trạng thái
                      xác nhận và lịch sử giao dịch.
                    example: >-
                      2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb
              example:
                jsonrpc: '2.0'
                id: '1'
                result: >-
                  2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb
        '400':
          description: >-
            Yêu cầu không hợp lệ - Tham số yêu cầu không hợp lệ hoặc yêu cầu có
            định dạng sai.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Tham số không hợp lệ
                id: '1'
        '401':
          description: Không được phép - Khóa API không hợp lệ hoặc bị thiếu.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Không được phép
                id: '1'
        '429':
          description: Quá nhiều yêu cầu - Đã vượt quá giới hạn tốc độ.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Quá nhiều yêu cầu
                id: '1'
        '500':
          description: Lỗi máy chủ nội bộ - Đã xảy ra lỗi trên máy chủ.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Lỗi nội bộ
                id: '1'
        '503':
          description: Dịch vụ không khả dụng - Dịch vụ tạm thời không khả dụng.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Dịch vụ không khả dụng
                id: '1'
        '504':
          description: Hết thời gian chờ cổng kết nối - Yêu cầu đã hết thời gian chờ.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Hết thời gian chờ cổng kết nối
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: Phiên bản giao thức JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Mã lỗi.
              example: -32602
            message:
              type: string
              description: Thông báo lỗi.
            data:
              type: object
              description: Dữ liệu bổ sung về lỗi.
        id:
          type: string
          description: Mã định danh khớp với yêu cầu.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Khóa API Helius của bạn. Bạn có thể nhận khóa miễn phí trong [bảng điều
        khiển](https://dashboard.helius.dev/api-keys).

````