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

# Broadcast Transaction

> Broadcasts a signed transaction to the blockchain, crucial for submitting transactions like transfers, delegations, or reward claims. Returns a transaction receipt (hash) or error details.


Note: the exact same 'data' and 'encoded' fields that were retrieved with the /transaction/encode endpoint, must be provided here.



## OpenAPI

````yaml https://api.adamik.io/openapi.json post /api/{chainId}/transaction/broadcast
openapi: 3.1.0
info:
  title: Adamik
  version: 0.1.0
  description: Adamik API reference
servers:
  - url: https://api.adamik.io
security:
  - ApiKeyAuth: []
paths:
  /api/{chainId}/transaction/broadcast:
    post:
      tags:
        - Transaction
      summary: Broadcast Transaction
      description: >-
        Broadcasts a signed transaction to the blockchain, crucial for
        submitting transactions like transfers, delegations, or reward claims.
        Returns a transaction receipt (hash) or error details.



        Note: the exact same 'data' and 'encoded' fields that were retrieved
        with the /transaction/encode endpoint, must be provided here.
      parameters:
        - in: path
          name: chainId
          schema:
            type: string
            enum:
              - algorand
              - cosmoshub
              - cosmoshub-testnet
              - osmosis
              - osmosis-testnet
              - celestia
              - celestia-testnet
              - dydx
              - axelar
              - ethereum
              - sepolia
              - hoodi
              - holesky
              - zksync
              - zksync-sepolia
              - injective-evm-testnet
              - base
              - base-sepolia
              - optimism
              - optimism-sepolia
              - arbitrum
              - arbitrum-sepolia
              - bitcoin
              - bitcoin-testnet
              - bitcoin-signet
              - polygon
              - polygon-amoy
              - bsc
              - bsc-testnet
              - linea
              - linea-sepolia
              - avalanche
              - avalanche-fuji
              - gnosis
              - gnosis-chiado
              - moonbeam
              - moonriver
              - moonbase
              - fantom
              - mantle
              - litecoin
              - dogecoin
              - ton
              - chiliz
              - chiliz-testnet
              - injective
              - akash
              - band
              - dymension
              - kyve
              - terra2
              - stargaze
              - tron
              - evmos
              - irisnet
              - juno
              - lum-network
              - omniflix
              - sei
              - medibloc
              - passage
              - quasar
              - seda
              - sommelier
              - shentu
              - stride
              - chihuahua
              - bitsong
              - persistence
              - comdex
              - fetch-ai
              - humans-ai
              - ki
              - likecoin
              - provenance
              - quicksilver
              - saga
              - kava
              - starknet
              - starknet-sepolia
              - babylon
              - babylon-testnet
              - monad-testnet
              - berachain
              - berachain-bepolia
              - cronos
              - world-chain
              - world-chain-sepolia
              - hyperliquid
              - solana
              - aptos
              - aptos-testnet
              - stellar
              - stellar-testnet
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                transaction:
                  type: object
                  properties:
                    data:
                      allOf:
                        - type: object
                          properties:
                            fees:
                              type: string
                              description: Transaction fees.
                            gas:
                              type: string
                              description: Transaction gas, when relevant for the chain.
                            nonce:
                              type: string
                              description: >-
                                Transaction sequence number computed by the API,
                                when relevant for the chain.
                            memo:
                              type: string
                              description: >-
                                Optional free text field, that is supported for
                                some chains.
                            params:
                              description: >-
                                Some additional chain-specific context computed
                                by the API. If provided by the encode endpoint,
                                it must be provided back as-is to the broadcast
                                endpoint.
                          required:
                            - fees
                        - oneOf:
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: deployAccount
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                contractType:
                                  type: string
                                  enum:
                                    - argentx
                                  description: >-
                                    Provider of the account contract. Only
                                    ArgentX is supported at the moment.
                                  default: argentx
                              required:
                                - mode
                                - senderPubKey
                              title: Deploy Account
                              description: Deploy a smart contract wallet account
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: transfer
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                recipientAddress:
                                  type: string
                                  description: Address or ID of the recipient account.
                                amount:
                                  type: string
                                  description: >-
                                    Optional amount to use (always in smallest
                                    unit). Use either this or useMaxAmount.
                                useMaxAmount:
                                  type: boolean
                                  description: >-
                                    Option to let the API compute the amount to
                                    use all available funds. Either use this or
                                    provide amount.
                                  default: false
                              required:
                                - mode
                                - senderAddress
                                - recipientAddress
                              title: Transfer
                              description: Transfer chain native coins
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: stake
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                sourceValidatorAddress:
                                  type: string
                                  description: >-
                                    Address or ID of a validator. Can be used to
                                    move staking funds from this validator
                                    instead of the sender's balance, if
                                    supported by the chain.
                                targetValidatorAddress:
                                  type: string
                                  description: Address or ID of a validator
                                amount:
                                  type: string
                                  description: >-
                                    Optional amount to use (always in smallest
                                    unit). Use either this or useMaxAmount.
                                useMaxAmount:
                                  type: boolean
                                  description: >-
                                    Option to let the API compute the amount to
                                    use all available funds. Either use this or
                                    provide amount.
                                  default: false
                              required:
                                - mode
                                - senderAddress
                                - targetValidatorAddress
                              title: Stake
                              description: Put some funds at stake
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: transferToken
                                tokenId:
                                  type: string
                                  description: >-
                                    Unique ID of the token to transfer (e.g
                                    contract address for EVM chains)
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                recipientAddress:
                                  type: string
                                  description: Address or ID of the recipient account.
                                amount:
                                  type: string
                                  description: >-
                                    Optional amount to use (always in smallest
                                    unit). Use either this or useMaxAmount.
                                useMaxAmount:
                                  type: boolean
                                  description: >-
                                    Option to let the API compute the amount to
                                    use all available funds. Either use this or
                                    provide amount.
                                  default: false
                              required:
                                - mode
                                - tokenId
                                - senderAddress
                                - recipientAddress
                              title: Transfer Token
                              description: Transfer chain tokens
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: enableToken
                                tokenId:
                                  type: string
                                  description: >-
                                    Unique ID of the token to transfer (e.g
                                    contract address for EVM chains)
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                              required:
                                - mode
                                - tokenId
                                - senderAddress
                              title: Enable Token
                              description: Enable an address to hold a token
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: unstake
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                validatorAddress:
                                  type: string
                                  description: Address or ID of a validator
                                stakeId:
                                  type: string
                                  description: >-
                                    Unique identifier of a staking position. If
                                    provided in the account state data, it must
                                    be provided back in the transaction data
                                    when encoding a staking transaction.
                                amount:
                                  type: string
                                  description: >-
                                    Optional amount to use (always in smallest
                                    unit). Use either this or useMaxAmount.
                                useMaxAmount:
                                  type: boolean
                                  description: >-
                                    Option to let the API compute the amount to
                                    use all available funds. Either use this or
                                    provide amount.
                                  default: false
                              required:
                                - mode
                                - senderAddress
                                - validatorAddress
                              title: Unstake
                              description: Stop staking some funds
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: claimRewards
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                validatorAddress:
                                  type: string
                                  description: Address or ID of a validator
                                stakeId:
                                  type: string
                                  description: >-
                                    Unique identifier of a staking position. If
                                    provided in the account state data, it must
                                    be provided back in the transaction data
                                    when encoding a staking transaction.
                                compound:
                                  type: boolean
                                  description: >-
                                    When available for the chain, controls
                                    whether staking rewards are cashed or added
                                    to the staked funds.
                                  default: false
                              required:
                                - mode
                                - senderAddress
                                - validatorAddress
                              title: Claim Rewards
                              description: Retrieve pending rewards from staking
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: withdraw
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                amount:
                                  type: string
                                  description: >-
                                    Optional amount to use (always in smallest
                                    unit). Use either this or useMaxAmount.
                                validatorAddress:
                                  type: string
                                  description: Address or ID of a validator
                                stakeId:
                                  type: string
                                  description: >-
                                    Unique identifier of a staking position. If
                                    provided in the account state data, it must
                                    be provided back in the transaction data
                                    when encoding a staking transaction.
                              required:
                                - mode
                                - senderAddress
                                - validatorAddress
                              title: Withdraw Unlocked Funds
                              description: >-
                                Move funds back from staking to your available
                                balance
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: registerStake
                                senderPubKey:
                                  type: string
                                  description: >-
                                    Public key of the sender account, required
                                    in some situations. It is advised to provide
                                    it by default if you can.
                                senderForeignPubKey:
                                  type: string
                                  description: Staker's pubkey on the foreign chain. (hex)
                                senderAddress:
                                  type: string
                                  description: Address or ID of the sender account.
                                proofOfPossession:
                                  type: string
                                  description: >-
                                    staker's address on this chain, signed with
                                    the foreign chain's signer. (hex)
                                amount:
                                  type: string
                                  description: Staked amount on the foreign chain.
                                validatorPubKey:
                                  type: string
                                  description: >-
                                    Validator's pubkey on the foreign chain.
                                    (hex)
                                unsignedUnbondingTransaction:
                                  type: string
                                  description: >-
                                    Unsigned unbonding transaction on the
                                    foreign chain (as provided in the response
                                    of the encode request for the stake
                                    transaction).
                                signedStakingTransaction:
                                  type: string
                                  description: >-
                                    Signed staking transaction on the foreign
                                    chain (hex).
                                signedSlashingTransaction:
                                  type: string
                                  description: >-
                                    Signed slashing transaction on the foreign
                                    chain (hex).
                                signedUnbondingSlashingTransaction:
                                  type: string
                                  description: >-
                                    Signed unbonding slashing transaction on the
                                    foreign chain (hex).
                              required:
                                - mode
                                - senderPubKey
                                - senderForeignPubKey
                                - senderAddress
                                - proofOfPossession
                                - amount
                                - validatorPubKey
                                - unsignedUnbondingTransaction
                                - signedStakingTransaction
                                - signedSlashingTransaction
                                - signedUnbondingSlashingTransaction
                              title: Register Stake
                              description: >-
                                Only supported for Babylon staking at the
                                moment. See documentation:
                                https://docs.adamik.io/guides/tutorials/babylon-with-adamik
                            - type: object
                              properties:
                                mode:
                                  type: string
                                  const: convertAsset
                                from:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                    tokenId:
                                      type: string
                                    address:
                                      type: string
                                  required:
                                    - amount
                                    - tokenId
                                    - address
                                to:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                    chainId:
                                      type: string
                                      enum:
                                        - aptos
                                        - aptos-testnet
                                        - algorand
                                        - ethereum
                                        - sepolia
                                        - holesky
                                        - hoodi
                                        - zksync
                                        - zksync-sepolia
                                        - injective-evm-testnet
                                        - base
                                        - base-sepolia
                                        - optimism
                                        - optimism-sepolia
                                        - arbitrum
                                        - arbitrum-sepolia
                                        - polygon
                                        - polygon-amoy
                                        - bsc
                                        - bsc-testnet
                                        - linea
                                        - linea-sepolia
                                        - avalanche
                                        - avalanche-fuji
                                        - gnosis
                                        - gnosis-chiado
                                        - moonbeam
                                        - moonriver
                                        - moonbase
                                        - fantom
                                        - mantle
                                        - chiliz
                                        - chiliz-testnet
                                        - ton
                                        - tron
                                        - rootstock
                                        - rootstock-testnet
                                        - bitcoin
                                        - bitcoin-testnet
                                        - bitcoin-signet
                                        - litecoin
                                        - dogecoin
                                        - starknet
                                        - starknet-sepolia
                                        - monad-testnet
                                        - bitsong
                                        - chihuahua
                                        - seda
                                        - persistence
                                        - comdex
                                        - humans-ai
                                        - ki
                                        - provenance
                                        - quicksilver
                                        - saga
                                        - kava
                                        - sei
                                        - fetch-ai
                                        - cosmoshub
                                        - osmosis
                                        - celestia
                                        - dydx
                                        - axelar
                                        - evmos
                                        - irisnet
                                        - juno
                                        - lum-network
                                        - omniflix
                                        - medibloc
                                        - passage
                                        - quasar
                                        - sommelier
                                        - shentu
                                        - stride
                                        - terra2
                                        - akash
                                        - dymension
                                        - band
                                        - stargaze
                                        - kyve
                                        - likecoin
                                        - osmosis-testnet
                                        - celestia-testnet
                                        - cosmoshub-testnet
                                        - injective
                                        - babylon
                                        - babylon-testnet
                                        - berachain
                                        - berachain-bepolia
                                        - cronos
                                        - world-chain
                                        - world-chain-sepolia
                                        - hyperliquid
                                        - solana
                                        - stellar
                                        - stellar-testnet
                                    tokenId:
                                      type: string
                                    address:
                                      type: string
                                  required:
                                    - tokenId
                                    - address
                                includeFees:
                                  type: boolean
                                slippage:
                                  type: number
                                  minimum: 0
                                  maximum: 1
                              required:
                                - mode
                                - from
                                - to
                                - includeFees
                              title: Convert from an asset to another
                              description: >-
                                Allows to convert from an asset (native or
                                token) to another one, either on the same or on
                                a different chain. The API determines whether
                                swap and/or bridge operations are required.
                    encoded:
                      type: array
                      items:
                        type: object
                        properties:
                          hash:
                            type: object
                            properties:
                              format:
                                type: string
                                enum:
                                  - sha256
                                  - keccak256
                                  - sha512_256
                                  - pedersen
                              value:
                                type: string
                            required:
                              - format
                              - value
                            description: >-
                              The transaction hash that needs to be signed. The
                              format field indicates the hash function used to
                              determine the hash value (e.g., KECCAK256 for EVM
                              chains, SHA256 for Bitcoin, etc.).
                          raw:
                            type: object
                            properties:
                              format:
                                type: string
                                enum:
                                  - RLP
                                  - WALLET_CONNECT
                                  - SIGNDOC_DIRECT
                                  - SIGNDOC_DIRECT_JSON
                                  - SIGNDOC_AMINO
                                  - SIGNDOC_AMINO_JSON
                                  - BOC
                                  - RAW_TRANSACTION
                                  - MSGPACK
                                  - PSBT
                                  - BCS
                                  - BORSH
                                  - XDR
                              value:
                                type: string
                            required:
                              - format
                              - value
                            description: >-
                              The raw transaction data in a chain-specific
                              format. The format field indicates the encoding
                              format used to represent the transaction data
                              (e.g., RLP for EVM chains, PSBT for Bitcoin,
                              etc.).
                    signature:
                      type: string
                  required:
                    - data
                    - encoded
                    - signature
              required:
                - transaction
      responses:
        '200':
          description: >-
            Returns a transaction receipt or error details if the transaction
            fails.
          content:
            application/json:
              schema:
                type: object
                properties:
                  chainId:
                    type: string
                    enum:
                      - algorand
                      - cosmoshub
                      - cosmoshub-testnet
                      - osmosis
                      - osmosis-testnet
                      - celestia
                      - celestia-testnet
                      - dydx
                      - axelar
                      - ethereum
                      - sepolia
                      - hoodi
                      - holesky
                      - zksync
                      - zksync-sepolia
                      - injective-evm-testnet
                      - base
                      - base-sepolia
                      - optimism
                      - optimism-sepolia
                      - arbitrum
                      - arbitrum-sepolia
                      - bitcoin
                      - bitcoin-testnet
                      - bitcoin-signet
                      - polygon
                      - polygon-amoy
                      - bsc
                      - bsc-testnet
                      - linea
                      - linea-sepolia
                      - avalanche
                      - avalanche-fuji
                      - gnosis
                      - gnosis-chiado
                      - moonbeam
                      - moonriver
                      - moonbase
                      - fantom
                      - mantle
                      - litecoin
                      - dogecoin
                      - ton
                      - chiliz
                      - chiliz-testnet
                      - injective
                      - akash
                      - band
                      - dymension
                      - kyve
                      - terra2
                      - stargaze
                      - tron
                      - evmos
                      - irisnet
                      - juno
                      - lum-network
                      - omniflix
                      - sei
                      - medibloc
                      - passage
                      - quasar
                      - seda
                      - sommelier
                      - shentu
                      - stride
                      - chihuahua
                      - bitsong
                      - persistence
                      - comdex
                      - fetch-ai
                      - humans-ai
                      - ki
                      - likecoin
                      - provenance
                      - quicksilver
                      - saga
                      - kava
                      - starknet
                      - starknet-sepolia
                      - babylon
                      - babylon-testnet
                      - monad-testnet
                      - berachain
                      - berachain-bepolia
                      - cronos
                      - world-chain
                      - world-chain-sepolia
                      - hyperliquid
                      - solana
                      - aptos
                      - aptos-testnet
                      - stellar
                      - stellar-testnet
                  hash:
                    type: string
                required:
                  - chainId
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

````