How to send transaction on smart contract and send some value

I’m trying to send transaction to my smart contract but it’s not working even I signed transaction.

      // const pv = caver.wallet.keyring.createFromPrivateKey(newKey)
      // const newKeyring = caver.wallet.keyring.create(provider.address, newKey)
      // const keyAccount = newKeyring.toAccount()
      const wallets = caver.klay.accounts.wallet.add({
        address: address,
        privateKey: newKey
      // const balance = await cont2.methods.getBalance().call()
      const ac = caver.klay.accounts.wallet[0];
      async function createTx(tx) {
        const account = caver.klay.accounts.wallet[0];
        tx.from = account.address;
        const signed = await account.signTransaction(tx);
        return signed.rawTransaction;
      const input = await cont2.methods.buyEggs("0x76588D3E8D2C721c16fec204551bdA54cfBF5146").encodeABI()
      const tx = await createTx({
        to: '0xD18d6b621F5AB8aD07d579992Ace2FcCE5e859ef',
        //gasPrice: '999999999999999',
        value: toWei(`${bakeBNB}`),
        data: input,
        gas: 900000
      const resp = await caver.klay.sendTransaction({
        senderRawTransaction: tx.toString(),
        feePayer: ac.address,



Please take a look this example.
It will give you an idea how to use Caver elegantly and more easily .