Prepare A Transaction From An Address In HD Wallet (xPub, yPub, zPub)

Through this endpoint users can prepare a transaction for signing from a synced with Crypto APIs address from the specific xPub. This endpoint applies to all supported account-based blockchain protocols, e.g. Ethereum, BSC, etc.

Single Result - This endpoint returns only one single result. POST /blockchain-data/{blockchain}/{network}/transactions/prepare-account-based-transaction

Path Parameters

  • Required
    blockchain string

    Represents the specific blockchain protocol name, e.g. Ethereum, Bitcoin, etc.

    Example : ethereum
    Possible Values : ethereum binance-smart-chain ethereum-classic
  • Required
    network string

    Represents the name of the blockchain network used; blockchain networks are usually identical as technology and software, but they differ in data, e.g. - "mainnet" is the live network with actual data while networks like "testnet", "goerli" are test networks.

    Example : goerli
    Possible Values : mainnet goerli testnet mordor

Query parameters

  • Optional
    context string

    In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.

    Example : yourExampleString

Request body schema application/json

  • Optional
    context string

    In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.

    Example : yourExampleString
  • Required
    data object
    • Required
      item object
      • Optional
        additionalData string

        Representation of the additional data.

        Example : yourAdditionalDataHere
      • Required
        amount string

        Representation of the amount of the transaction

        Example : 0.000003
      • Required
        recipient string

        Represents a list of recipient addresses with the respective amounts. In account-based protocols like Ethereum there is only one address in this list.

        Example : 0x041c594a0cc194e826bef5411b29c7f27001b7e3
      • Required
        sender string

        Represents a sender address with the respective amount. In account-based protocols like Ethereum there is only one address in this list.

        Example : 0x03654A9E78771442CAdf8DB37ae60D6a12bAEa9f
      • Required
        xpub string

        Defines the account extended publicly known key which is used to derive all child public keys.

        Example : xpub6CsGdqTDEVRnLmpWN218HBwJqfhqSx46iA8ByzEA5Bz9jfwU3TSg9U7ambKgJyykvCraHQ6sAFAddMGFdPzhXrRanKbHnnkbDTyRPyn5gRJ
      • Required
        fee object

        When isConfirmed is True - Defines the amount of the transaction fee When isConfirmed is False - For ETH-based blockchains this attribute represents the max fee value.

        • Optional
          exactAmount string

          String representation of the exact amount

          Example : 0.00045
        • Required
          priority string

          Enum representation of the fee priority

          Example : standard
          Possible Values : slow standard fast
      • Optional
        nonce string

        Representation of the nonce value

        Example : 0
      • Optional
        transactionType string

        Representation of the transaction type. For Ethereum-Classic and Binance Smart Chain there is no need to provide "transactionType" in the request.

        Default : gas-fee-market-transaction
        Example : access-list-transaction
        Possible Values : legacy-transaction access-list-transaction gas-fee-market-transaction
      • Required
        sequence string

        String representation of the sequence

        Example : 31715632

Response schema

200 400 401 402 403 409 415 422 429 500
HTTP Status Code: 200
Content-Type: application/json

The resource has been successfully submitted.

  • Object :

  • Required
    apiVersion string

    Specifies the version of the API that incorporates this endpoint.

    Example : 2023-04-25
  • Required
    requestId string

    Defines the ID of the request. The requestId is generated by Crypto APIs and it's unique for every request.

    Example : 601c1710034ed6d407996b30
  • Optional
    context string

    In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.

    Example : yourExampleString
  • Required
    data object
    • Required
      item object
      • Required
        amount string

        Representation of the amount of the transaction

        Example : 0.000003
      • Required
        recipient string

        Represents a recipient addresses. In account-based protocols like Ethereum there is only one address in this list.

        Example : 0x041c594a0cc194e826bef5411b29c7f27001b7e3
      • Required
        sender string

        Represents a sender address with the respective amount. In account-based protocols like Ethereum there is only one address in this list.

        Example : 0x03654A9E78771442CAdf8DB37ae60D6a12bAEa9f
      • Required
        sigHash string

        Representation of the hash that should be signed.

        Example : 40738814e379fd2b1923729c87ac80dddc6810a3f8f02fef05452251972ec83a
      • Required
        blockchainSpecific object One Of
        object
        • Required
          dataHex string

          Representation of the data in hex value

          Example : 0x0079006f00750072004100640064006900740069006f006e0061006c00440061007400610048006500720065
        • Required
          derivationIndex integer

          Representation of the derivation index of the xpub address

          Example : 0
        • Required
          fee object

          When isConfirmed is True - Defines the amount of the transaction fee When isConfirmed is False - For ETH-based blockchains this attribute represents the max fee value.

          • Required
            gasLimit string

            Represents the amount of gas used by this specific transaction alone.

            Example : 552020
          • Required
            gasPrice string

            Represents the price offered to the miner to purchase this amount of gas.

            Example : 2500000007
          • Required
            maxFeePerGas string

            Representation of the max fee per gas value

            Example : 2000000008
          • Required
            maxPriorityFeePerGas string

            Representation of the max priority fee per gas value

            Example : 2000000000
        • Required
          nonce string

          Represents the sequential running number for an address, starting from 0 for the first transaction. E.g., if the nonce of a transaction is 10, it would be the 11th transaction sent from the sender's address.

          Example : 0
        • Required
          transactionType string

          Representation of the transaction type

          Example : legacy-transaction
          Possible Values : legacy-transaction access-list-transaction
        • Required
          unit string

          Represents the unit of the amount to be sent.

          Example : WEI

Credits Cost : 5000 Credits For 1 Result(s)

Try it out

Request Example

POST
https://rest.cryptoapis.io/blockchain-data/ethereum/goerli/transactions/prepare-account-based-transaction?context=yourExampleString
Headers
Content-Type: application/json
X-API-Key: my-api-key

Request Body
{
    "context": "yourExampleString",
    "data": {
        "item": {
            "additionalData": "yourAdditionalDataHere",
            "amount": "0.000003",
            "recipient": "0x041c594a0cc194e826bef5411b29c7f27001b7e3",
            "sender": "0x03654A9E78771442CAdf8DB37ae60D6a12bAEa9f",
            "xpub": "xpub6CsGdqTDEVRnLmpWN218HBwJqfhqSx46iA8ByzEA5Bz9jfwU3TSg9U7ambKgJyykvCraHQ6sAFAddMGFdPzhXrRanKbHnnkbDTyRPyn5gRJ",
            "fee": {
                "exactAmount": "0.00045",
                "priority": "standard"
            },
            "nonce": "0",
            "transactionType": "access-list-transaction",
            "sequence": "31715632"
        }
    }
}

Response Example

{
    "apiVersion": "2023-04-25",
    "requestId": "601c1710034ed6d407996b30",
    "context": "yourExampleString",
    "data": {
        "item": {
            "amount": "0.000003",
            "recipient": "0x041c594a0cc194e826bef5411b29c7f27001b7e3",
            "sender": "0x03654A9E78771442CAdf8DB37ae60D6a12bAEa9f",
            "sigHash": "40738814e379fd2b1923729c87ac80dddc6810a3f8f02fef05452251972ec83a",
            "blockchainSpecific": {
                "dataHex": "0x0079006f00750072004100640064006900740069006f006e0061006c00440061007400610048006500720065",
                "derivationIndex": 0,
                "fee": {
                    "gasLimit": "552020",
                    "gasPrice": "2500000007",
                    "maxFeePerGas": "2000000008",
                    "maxPriorityFeePerGas": "2000000000"
                },
                "nonce": "0",
                "transactionType": "legacy-transaction",
                "unit": "WEI"
            }
        }
    }
}