diff --git a/config/config_test.go b/config/config_test.go
index 5e631ba..b66a5de 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -60,6 +60,8 @@ func TestLoadConfigCommentedUnknownFieldOk(t *testing.T) {
 }
 func TestLoadConfigValdiumTranslatorOk(t *testing.T) {
 	fileExtension := "toml"
-	_, err := config.LoadFileFromString(string(ConfigFileValidiumTranslatorTest), fileExtension)
+	cfg, err := config.LoadFileFromString(string(ConfigFileValidiumTranslatorTest), fileExtension)
 	require.NoError(t, err)
+	require.NotNil(t, cfg)
+	require.Equal(t, 3, len(cfg.Etherman.Validium.Translator.FullMatchRules))
 }
diff --git a/config/default_test.go b/config/default_test.go
index 764ddce..c784d43 100644
--- a/config/default_test.go
+++ b/config/default_test.go
@@ -53,7 +53,7 @@ func TestDefault(t *testing.T) {
 				Enabled:                 false,
 				TrustedSequencerURL:     "",
 				DataSourcePriority:      []dataavailability.DataSourcePriority{dataavailability.Trusted, dataavailability.External},
-				Translator:              translator.Config{},
+				Translator:              translator.Config{FullMatchRules: []translator.ConfigRuleFullMatch{}},
 				RetryOnDACErrorInterval: types.Duration{Duration: time.Minute},
 				RateLimit:               utils.NewRateLimitConfig(900, time.Second),
 			},
diff --git a/etherman/etherman.go b/etherman/etherman.go
index 0e0187b..f05132b 100644
--- a/etherman/etherman.go
+++ b/etherman/etherman.go
@@ -242,7 +242,13 @@ func NewClient(cfg Config) (*Client, error) {
 		return nil, err
 	}
 
-	batchDecoders := []SequenceBatchesDecoder{decodeEtrog, decodeElderberry}
+	decodeBanana, err := NewDecodeSequenceBatchesBanana()
+	if err != nil {
+		log.Errorf("error creating NewDecodeSequenceBatchesBanana client. Error: %w", err)
+		return nil, err
+	}
+
+	batchDecoders := []SequenceBatchesDecoder{decodeEtrog, decodeElderberry, decodeBanana}
 	if cfg.Validium.Enabled {
 		log.Infof("Validium is enabled")
 		validium, err = NewEthermanValidium(cfg, ethClient)
@@ -262,7 +268,13 @@ func NewClient(cfg Config) (*Client, error) {
 			log.Errorf("error creating NewDecodeSequenceBatchesElderberryValidium client. Error: %w", err)
 			return nil, err
 		}
-		batchDecoders = append(batchDecoders, decodeEtrogValidium, decodeElderberryValidium)
+
+		decodeBananaValidium, err := NewSequenceBatchesDecoderBananaValidium(validium.DataAvailabilityClient)
+		if err != nil {
+			log.Errorf("error creating NewSequenceBatchesDecoderBananaValidium client. Error: %w", err)
+			return nil, err
+		}
+		batchDecoders = append(batchDecoders, decodeEtrogValidium, decodeElderberryValidium, decodeBananaValidium)
 	}
 	client := &Client{
 		EthClient: ethClient,
@@ -780,7 +792,7 @@ func (etherMan *Client) processEvent(ctx context.Context, vLog types.Log, blocks
 		log.Debug("InitL1InfoRootMap event detected. Ignoring...")
 		return nil
 	}
-	log.Warnf("Event not registered: %+v", vLog)
+	log.Infof("Event not registered: %+v", vLog)
 	return nil
 }
 
@@ -864,7 +876,7 @@ func (etherMan *Client) updateEtrogSequence(ctx context.Context, vLog types.Log,
 		SequencerAddr: updateEtrogSequence.Sequencer,
 		TxHash:        vLog.TxHash,
 		Nonce:         msg.Nonce,
-		PolygonRollupBaseEtrogBatchData: &polygonzkevm.PolygonRollupBaseEtrogBatchData{
+		EtrogSequenceData: &EtrogSequenceData{
 			Transactions:         updateEtrogSequence.Transactions,
 			ForcedGlobalExitRoot: updateEtrogSequence.LastGlobalExitRoot,
 			ForcedTimestamp:      fullBlock.Time(),
@@ -922,7 +934,7 @@ func (etherMan *Client) initialSequenceBatches(ctx context.Context, vLog types.L
 		SequencerAddr: initialSequenceBatches.Sequencer,
 		TxHash:        vLog.TxHash,
 		Nonce:         msg.Nonce,
-		PolygonRollupBaseEtrogBatchData: &polygonzkevm.PolygonRollupBaseEtrogBatchData{
+		EtrogSequenceData: &EtrogSequenceData{
 			Transactions:         initialSequenceBatches.Transactions,
 			ForcedGlobalExitRoot: initialSequenceBatches.LastGlobalExitRoot,
 			ForcedTimestamp:      fullBlock.Time(),
@@ -1513,12 +1525,17 @@ func decodeSequencedForceBatches(txData []byte, lastBatchNumber uint64, sequence
 	for i, force := range forceBatches {
 		bn := lastBatchNumber - uint64(len(forceBatches)-(i+1))
 		sequencedForcedBatches[i] = SequencedForceBatch{
-			BatchNumber:                     bn,
-			Coinbase:                        sequencer,
-			TxHash:                          txHash,
-			Timestamp:                       time.Unix(int64(block.Time()), 0),
-			Nonce:                           nonce,
-			PolygonRollupBaseEtrogBatchData: force,
+			BatchNumber: bn,
+			Coinbase:    sequencer,
+			TxHash:      txHash,
+			Timestamp:   time.Unix(int64(block.Time()), 0),
+			Nonce:       nonce,
+			EtrogSequenceData: EtrogSequenceData{
+				Transactions:         force.Transactions,
+				ForcedGlobalExitRoot: force.ForcedGlobalExitRoot,
+				ForcedTimestamp:      force.ForcedTimestamp,
+				ForcedBlockHashL1:    force.ForcedBlockHashL1,
+			},
 		}
 	}
 	return sequencedForcedBatches, nil
diff --git a/etherman/sequence_batches_decode_banana.go b/etherman/sequence_batches_decode_banana.go
new file mode 100644
index 0000000..6d4d21b
--- /dev/null
+++ b/etherman/sequence_batches_decode_banana.go
@@ -0,0 +1,113 @@
+package etherman
+
+import (
+	"encoding/json"
+
+	"github.com/0xPolygon/cdk-contracts-tooling/contracts/banana/polygonvalidiumetrog"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
+	"github.com/ethereum/go-ethereum/common"
+	"github.com/ethereum/go-ethereum/crypto"
+)
+
+var (
+	/*
+			struct BatchData {
+		        bytes transactions;
+		        bytes32 forcedGlobalExitRoot;
+		        uint64 forcedTimestamp;
+		        bytes32 forcedBlockHashL1;
+		    }
+
+			function sequenceBatches(
+		        BatchData[] calldata batches,
+		        uint32 indexL1InfoRoot,
+		        uint64 maxSequenceTimestamp,
+		        bytes32 expectedFinalAccInputHash,
+		        address l2Coinbase
+		    )
+		b910e0f97e3128707f02262ec5c90481c982744e80bd892a4449261f745e95d0
+		sequenceBatches((bytes,bytes32,uint64,bytes32)[],uint32,uint64,bytes32,address)
+
+	*/
+	methodIDSequenceBatchesBanana     = crypto.Keccak256Hash([]byte("sequenceBatches((bytes,bytes32,uint64,bytes32)[],uint32,uint64,bytes32,address)")).Bytes()[:4] // b910e0f9
+	methodIDSequenceBatchesBananaName = "sequenceBatchesBanana"
+)
+
+type DecodeSequenceBatchesBanana struct {
+	SequenceBatchesBase
+}
+
+func NewDecodeSequenceBatchesBanana() (*DecodeSequenceBatchesBanana, error) {
+	base, err := NewSequenceBatchesBase(methodIDSequenceBatchesBanana, methodIDSequenceBatchesBananaName, polygonvalidiumetrog.PolygonvalidiumetrogABI)
+	if err != nil {
+		return nil, err
+	}
+	return &DecodeSequenceBatchesBanana{*base}, nil
+}
+
+func (s *DecodeSequenceBatchesBanana) DecodeSequenceBatches(txData []byte, lastBatchNumber uint64, sequencer common.Address, txHash common.Hash, nonce uint64, l1InfoRoot common.Hash) ([]SequencedBatch, error) {
+	decoded, err := decodeSequenceCallData(s.SmcABI(), txData)
+	if err != nil {
+		return nil, err
+	}
+	data := decoded.Data
+	bytedata := decoded.InputByteData
+	var sequences []polygonvalidiumetrog.PolygonRollupBaseEtrogBatchData
+	err = json.Unmarshal(bytedata, &sequences)
+	if err != nil {
+		return nil, err
+	}
+
+	counterL1InfoRoot := data[1].(uint32)
+	maxSequenceTimestamp := data[2].(uint64)
+	//expectedFinalAccInputHash := data[3].(common.Hash)
+	expectedFinalAccInputHashraw := data[3].([common.HashLength]byte)
+	expectedFinalAccInputHash := common.Hash(expectedFinalAccInputHashraw)
+	coinbase := data[4].(common.Address)
+
+	bananaData := BananaSequenceData{
+		CounterL1InfoRoot:         counterL1InfoRoot,
+		MaxSequenceTimestamp:      maxSequenceTimestamp,
+		ExpectedFinalAccInputHash: expectedFinalAccInputHash,
+		DataAvailabilityMsg:       []byte{},
+	}
+	SequencedBatchMetadata := &SequencedBatchMetadata{
+		CallFunctionName: s.NameMethodID(txData[:4]),
+		ForkName:         "banana",
+		RollupFlavor:     RollupFlavorZkEVM,
+	}
+
+	log.Debugf("Decoded %s: event(lastBatchNumber:%d, sequencer:%s, txHash:%s, nonce:%d, l1InfoRoot:%s)  bananaData:%s",
+		methodIDSequenceBatchesBananaName,
+		lastBatchNumber, sequencer.String(), txHash.String(), nonce, l1InfoRoot.String(),
+		bananaData.String())
+	log.Debugf("%s batchNum: %d Data:%s", methodIDSequenceBatchesBananaName, lastBatchNumber+1, common.Bytes2Hex(txData))
+	for i, d := range sequences {
+		log.Debugf("%s    BatchData[%d]: %s", methodIDSequenceBatchesBananaName, i, common.Bytes2Hex(d.Transactions))
+	}
+	sequencedBatches := make([]SequencedBatch, len(sequences))
+
+	for i, seq := range sequences {
+
+		bn := lastBatchNumber - uint64(len(sequences)-(i+1))
+		s := EtrogSequenceData{
+			Transactions:         seq.Transactions,
+			ForcedGlobalExitRoot: seq.ForcedGlobalExitRoot,
+			ForcedTimestamp:      seq.ForcedTimestamp,
+			ForcedBlockHashL1:    seq.ForcedBlockHashL1,
+		}
+		sequencedBatches[i] = SequencedBatch{
+			BatchNumber:       bn,
+			L1InfoRoot:        &l1InfoRoot,
+			SequencerAddr:     sequencer,
+			TxHash:            txHash,
+			Nonce:             nonce,
+			Coinbase:          coinbase,
+			EtrogSequenceData: &s,
+			BananaData:        &bananaData,
+			Metadata:          SequencedBatchMetadata,
+		}
+	}
+	return sequencedBatches, nil
+
+}
diff --git a/etherman/sequence_batches_decode_banana_test.go b/etherman/sequence_batches_decode_banana_test.go
new file mode 100644
index 0000000..82a9015
--- /dev/null
+++ b/etherman/sequence_batches_decode_banana_test.go
@@ -0,0 +1,50 @@
+package etherman
+
+import (
+	"encoding/hex"
+	"testing"
+
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
+	"github.com/ethereum/go-ethereum/common"
+	"github.com/stretchr/testify/require"
+)
+
+const (
+	txDataBananaHex   = "b910e0f900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000066c4b6531317f62f023ccd827099d9070ac5eb453040af849485827b42eb6ac92fe112530000000000000000000000005b06837a43bdc3dd9f114558daf4b26ed49842ed00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120b0000007a000000000b00000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120b00000006000000000b000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b0b00000006000000000b00000006000000000b00000006000000000000000000"
+	expedtedSeqBanana = `BatchNumber: 2
+L1InfoRoot: 0xa958fee09bf3c4d782ab6839f81c8f40316521e19ba088b9c1a580c9a1438506
+SequencerAddr: 0x5b06837A43bdC3dD9F114558DAf4B26ed49842Ed
+TxHash: 0x2b3fa84d57739604e5fbbc921fca588842923c64e28e0636609ee7ba1bea8c64
+Nonce: 1
+Coinbase: 0x5b06837A43bdC3dD9F114558DAf4B26ed49842Ed
+PolygonZkEVMBatchData: nil
+___EtrogSequenceData:ForcedTimestamp: 0
+___EtrogSequenceData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:Transactions: 0b0000007a000000000b0000000600000000
+SequencedBatchElderberryData: nil
+BananaData: CounterL1InfoRoot: 1 MaxSequenceTimestamp: 1724167763 ExpectedFinalAccInputHash: 0x1317f62f023ccd827099d9070ac5eb453040af849485827b42eb6ac92fe11253 DataAvailabilityMsg(0):
+Metadata: SourceBatchData:  RollupFlavor: kEVM CallFunctionName: sequenceBatchesBanana ForkName: banana
+`
+)
+
+func TestSequencedBatchBananaDecode(t *testing.T) {
+	sut, err := NewDecodeSequenceBatchesBanana()
+	require.NoError(t, err)
+	require.NotNil(t, sut)
+	txData, err := hex.DecodeString(txDataBananaHex)
+	require.NoError(t, err)
+	lastBatchNumber := uint64(4)
+	sequencer := common.HexToAddress("0x5b06837A43bdC3dD9F114558DAf4B26ed49842Ed")
+	txHash := common.HexToHash("0x2b3fa84d57739604e5fbbc921fca588842923c64e28e0636609ee7ba1bea8c64")
+	nonce := uint64(1)
+	l1InfoRoot := common.HexToHash("0xa958fee09bf3c4d782ab6839f81c8f40316521e19ba088b9c1a580c9a1438506")
+
+	res, err := sut.DecodeSequenceBatches(txData, lastBatchNumber, sequencer, txHash, nonce, l1InfoRoot)
+	require.NoError(t, err)
+	require.NotNil(t, res)
+	res0 := res[0].String()
+	log.Debug(res0)
+	require.Equal(t, expedtedSeqBanana, res0)
+
+}
diff --git a/etherman/sequence_batches_decode_banana_validium.go b/etherman/sequence_batches_decode_banana_validium.go
new file mode 100644
index 0000000..097f996
--- /dev/null
+++ b/etherman/sequence_batches_decode_banana_validium.go
@@ -0,0 +1,162 @@
+package etherman
+
+import (
+	"encoding/json"
+	"fmt"
+
+	"github.com/0xPolygon/cdk-contracts-tooling/contracts/banana/polygonvalidiumetrog"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/dataavailability"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
+	"github.com/ethereum/go-ethereum/common"
+)
+
+var (
+	/*
+		// contract: v8.0.0-rc.1-fork.12
+			https://github.com/0xPolygonHermez/zkevm-contracts/blob/a5eacc6e51d7456c12efcabdfc1c37457f2219b2/contracts/v2/consensus/validium/PolygonValidiumEtrog.sol#L29
+			  struct ValidiumBatchData {
+				bytes32 transactionsHash;
+				bytes32 forcedGlobalExitRoot;
+				uint64 forcedTimestamp;
+				bytes32 forcedBlockHashL1;
+			}
+			//https://github.com/0xPolygonHermez/zkevm-contracts/blob/a9b4f742f66bd4f3bcd98a3a188422480ffe0d4e/contracts/v2/consensus/validium/PolygonValidiumEtrog.sol#L91
+			function sequenceBatchesValidium(
+				ValidiumBatchData[] calldata batches,
+				uint32 indexL1InfoRoot,
+				uint64 maxSequenceTimestamp,
+				bytes32 expectedFinalAccInputHash,
+				address l2Coinbase,
+				bytes calldata dataAvailabilityMessage
+			)
+		165e8a8d50cd47dabdf9bde8bf707c673d2379d465bd458693e23b75ab3a4424
+		sequenceBatchesValidium((bytes32,bytes32,uint64,bytes32)[],uint32,uint64,bytes32,address,bytes)
+
+	*/
+	methodIDSequenceBatchesBananaValidium     = []byte{0x16, 0x5e, 0x8a, 0x8d} // 165e8a8d sequenceBatchesValidium((bytes32,bytes32,uint64,bytes32)[],uint32,uint64,bytes32,address,bytes)
+	methodIDSequenceBatchesBananaValidiumName = "sequenceBatchesBananaValidium"
+)
+
+type SequenceBatchesDecoderBananaValidium struct {
+	SequenceBatchesBase
+	da dataavailability.BatchDataProvider
+}
+
+func NewSequenceBatchesDecoderBananaValidium(da dataavailability.BatchDataProvider) (*SequenceBatchesDecoderBananaValidium, error) {
+	base, err := NewSequenceBatchesBase(methodIDSequenceBatchesBananaValidium,
+		methodIDSequenceBatchesBananaValidiumName, polygonvalidiumetrog.PolygonvalidiumetrogABI)
+	if err != nil {
+		return nil, err
+	}
+	return &SequenceBatchesDecoderBananaValidium{*base, da}, nil
+}
+
+func (s *SequenceBatchesDecoderBananaValidium) DecodeSequenceBatches(txData []byte, lastBatchNumber uint64, sequencer common.Address, txHash common.Hash, nonce uint64, l1InfoRoot common.Hash) ([]SequencedBatch, error) {
+
+	if s.da == nil {
+		return nil, fmt.Errorf("data availability backend not set")
+	}
+	decoded, err := decodeSequenceCallData(s.SmcABI(), txData)
+	if err != nil {
+		return nil, err
+	}
+	data := decoded.Data
+	bytedata := decoded.InputByteData
+	var sequencesValidium []polygonvalidiumetrog.PolygonValidiumEtrogValidiumBatchData
+	err = json.Unmarshal(bytedata, &sequencesValidium)
+	if err != nil {
+		return nil, err
+	}
+
+	counterL1InfoRoot := data[1].(uint32)
+	maxSequenceTimestamp := data[2].(uint64)
+	//expectedFinalAccInputHash := data[3].(common.Hash)
+	expectedFinalAccInputHashraw := data[3].([common.HashLength]byte)
+	expectedFinalAccInputHash := common.Hash(expectedFinalAccInputHashraw)
+	coinbase := data[4].(common.Address)
+	dataAvailabilityMsg := data[5].([]byte)
+
+	bananaData := BananaSequenceData{
+		CounterL1InfoRoot:         counterL1InfoRoot,
+		MaxSequenceTimestamp:      maxSequenceTimestamp,
+		ExpectedFinalAccInputHash: expectedFinalAccInputHash,
+		DataAvailabilityMsg:       dataAvailabilityMsg,
+	}
+
+	batchInfos := createBatchInfoBanana(sequencesValidium, lastBatchNumber)
+
+	batchData, err := retrieveBatchData(s.da, batchInfos, dataAvailabilityMsg)
+	if err != nil {
+		return nil, err
+	}
+
+	log.Debugf("Decoded Banana sequenceBatchesValidium: counterL1InfoRoot:%d maxSequenceTimestamp:%d expectedFinalAccInputHash:%s coinbase:%s dataAvailabilityMsg:%s",
+		counterL1InfoRoot, maxSequenceTimestamp, expectedFinalAccInputHash, coinbase.Hex(), dataAvailabilityMsg)
+	log.Debugf("%s batchNum: %d Data:%s", methodIDSequenceBatchesBananaValidiumName, lastBatchNumber+1, common.Bytes2Hex(txData))
+	for i, d := range batchData {
+		log.Debugf("%s    BatchData[%d]: %s", methodIDSequenceBatchesBananaValidiumName, i, common.Bytes2Hex(d.Data))
+	}
+	SequencedBatchMetadata := &SequencedBatchMetadata{
+		CallFunctionName: s.NameMethodID(txData[:4]),
+		ForkName:         "banana",
+		RollupFlavor:     RollupFlavorValidium,
+	}
+	sequencedBatches := createSequencedBatchListBanana(sequencesValidium, batchInfos, batchData, l1InfoRoot, sequencer, txHash, nonce, coinbase, maxSequenceTimestamp, bananaData, SequencedBatchMetadata)
+
+	return sequencedBatches, nil
+
+}
+
+func createBatchInfoBanana(sequencesValidium []polygonvalidiumetrog.PolygonValidiumEtrogValidiumBatchData, lastBatchNumber uint64) []batchInfo {
+	// Pair the batch number, hash, and if it is forced. This will allow
+	// retrieval from different sources, and keep them in original order.
+
+	var batchInfos []batchInfo
+	for i, d := range sequencesValidium {
+		bn := lastBatchNumber - uint64(len(sequencesValidium)-(i+1))
+		forced := d.ForcedTimestamp > 0
+		h := d.TransactionsHash
+		batchInfos = append(batchInfos, batchInfo{num: bn, hash: h, isForced: forced})
+	}
+	return batchInfos
+}
+
+func createSequencedBatchListBanana(sequencesValidium []polygonvalidiumetrog.PolygonValidiumEtrogValidiumBatchData, batchInfos []batchInfo, batchData []dataavailability.BatchL2Data,
+	l1InfoRoot common.Hash, sequencer common.Address, txHash common.Hash, nonce uint64, coinbase common.Address,
+	maxSequenceTimestamp uint64,
+	bananaSequenceData BananaSequenceData,
+	metaData *SequencedBatchMetadata) []SequencedBatch {
+	sequencedBatches := make([]SequencedBatch, len(sequencesValidium))
+	for i, info := range batchInfos {
+		bn := info.num
+		s := EtrogSequenceData{
+			Transactions:         batchData[i].Data,
+			ForcedGlobalExitRoot: sequencesValidium[i].ForcedGlobalExitRoot,
+			ForcedTimestamp:      sequencesValidium[i].ForcedTimestamp,
+			ForcedBlockHashL1:    sequencesValidium[i].ForcedBlockHashL1,
+		}
+		if metaData != nil {
+			switch batchData[i].Source {
+			case dataavailability.External:
+				metaData.SourceBatchData = SourceBatchDataValidiumDAExternal
+			case dataavailability.Trusted:
+				metaData.SourceBatchData = SourceBatchDataValidiumDATrusted
+
+				metaData.SourceBatchData = string(batchData[i].Source)
+			}
+		}
+		batch := SequencedBatch{
+			BatchNumber:       bn,
+			L1InfoRoot:        &l1InfoRoot,
+			SequencerAddr:     sequencer,
+			TxHash:            txHash,
+			Nonce:             nonce,
+			Coinbase:          coinbase,
+			EtrogSequenceData: &s,
+			BananaData:        &bananaSequenceData,
+			Metadata:          metaData,
+		}
+		sequencedBatches[i] = batch
+	}
+	return sequencedBatches
+}
diff --git a/etherman/sequence_batches_decode_banana_validium_test.go b/etherman/sequence_batches_decode_banana_validium_test.go
new file mode 100644
index 0000000..74fb59e
--- /dev/null
+++ b/etherman/sequence_batches_decode_banana_validium_test.go
@@ -0,0 +1,84 @@
+package etherman
+
+import (
+	"encoding/hex"
+	"testing"
+
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/dataavailability"
+	mock_dataavailability "github.com/0xPolygonHermez/zkevm-synchronizer-l1/dataavailability/mocks"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
+	"github.com/ethereum/go-ethereum/common"
+	"github.com/stretchr/testify/mock"
+	"github.com/stretchr/testify/require"
+)
+
+const (
+	txDataBananaValidiumHex   = "165e8a8d00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000066c43b8e443448cabd1b7808f64eb3f2737180b7ef27a0a28e19afebb2981714a6492c9b0000000000000000000000005b06837a43bdc3dd9f114558daf4b26ed49842ed00000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000003d09d1238668f9e4dd74d503f15a90c8fc230069b5ace4a3327896b50bf809db5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df729b193d68d2b455c59f7040687d4dc2d147557442aeef4c10cc5769d47ade00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014df0077a11ccf22bd14d1ec3e209ba5d8e065ce73556fdc8fb9c19b83af4ec30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055f10249e353edebbaa84755e6216d6bf44a1be5e5b140ed6cd94f56dcd7611ad2202708675673a014fcea40c1519ae920ed7652e23e43bf837e11fc5c403539fd1b5951f5b2604c9b42e478d5e2b2437f44073ef9a60000000000000000000000"
+	expectedSeqBananaValidium = `BatchNumber: 2
+L1InfoRoot: 0xa59ece237550cae22559a6654efccbd8fc33fb7b56ed11983c97e211ddd17346
+SequencerAddr: 0x353800524721e11B453f73f523dD8840c215a213
+TxHash: 0x2cd4d0310ae93fe9e068fa3cc1d7bcb1b6ea66374f48efb2b389bb5a64105a15
+Nonce: 1
+Coinbase: 0x5b06837A43bdC3dD9F114558DAf4B26ed49842Ed
+PolygonZkEVMBatchData: nil
+___EtrogSequenceData:ForcedTimestamp: 0
+___EtrogSequenceData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:Transactions: 0b0000008b000000000b00000006000000000b0000000600000000
+SequencedBatchElderberryData: nil
+BananaData: CounterL1InfoRoot: 1 MaxSequenceTimestamp: 1724136334 ExpectedFinalAccInputHash: 0x443448cabd1b7808f64eb3f2737180b7ef27a0a28e19afebb2981714a6492c9b DataAvailabilityMsg(85): f10249e353edebbaa84755e6216d6bf44a1be5e5b140ed6cd94f56dcd7611ad2202708675673a014fcea40c1519ae920ed7652e23e43bf837e11fc5c403539fd1b5951f5b2604c9b42e478d5e2b2437f44073ef9a6
+Metadata: SourceBatchData: DA/External RollupFlavor: Validium CallFunctionName: sequenceBatchesBananaValidium ForkName: banana
+`
+)
+
+var (
+	batchDataBananaValidiumHex = [...]string{
+		"0b0000008b000000000b00000006000000000b0000000600000000",
+		"0b00000000000000000b0000000600000000",
+		"0b00000006000000000b00000006000000000b0000000600000000",
+	}
+)
+
+func TestSequencedBatchBananaValidiumDecode(t *testing.T) {
+	mockDA := mock_dataavailability.NewBatchDataProvider(t)
+	sut, err := NewSequenceBatchesDecoderBananaValidium(mockDA)
+	require.NoError(t, err)
+	require.NotNil(t, sut)
+
+	txData, err := hex.DecodeString(txDataBananaValidiumHex)
+	require.NoError(t, err)
+	batchData := make([][]byte, len(batchDataBananaValidiumHex))
+	for i, v := range batchDataBananaValidiumHex {
+		batchData[i], err = hex.DecodeString(v)
+		require.NoError(t, err)
+	}
+
+	resultGetBatchL2Data := []dataavailability.BatchL2Data{
+		{
+			Data:   batchData[0],
+			Source: dataavailability.External,
+		},
+		{
+			Data:   batchData[0],
+			Source: dataavailability.External,
+		},
+		{
+			Data:   batchData[0],
+			Source: dataavailability.External,
+		},
+	}
+	mockDA.EXPECT().GetBatchL2Data([]uint64{2, 3, 4}, mock.Anything, mock.Anything).Return(resultGetBatchL2Data, nil)
+
+	require.NoError(t, err)
+	res, err := sut.DecodeSequenceBatches(txData, uint64(4),
+		common.HexToAddress("0x353800524721e11B453f73f523dD8840c215a213"),
+		common.HexToHash("0x2cd4d0310ae93fe9e068fa3cc1d7bcb1b6ea66374f48efb2b389bb5a64105a15"),
+		uint64(1),
+		common.HexToHash("0xa59ece237550cae22559a6654efccbd8fc33fb7b56ed11983c97e211ddd17346"))
+
+	require.NoError(t, err)
+	require.NotNil(t, res)
+	res0 := res[0].String()
+	log.Debug(res0)
+	require.Equal(t, expectedSeqBananaValidium, res0)
+}
diff --git a/etherman/sequence_batches_decode_elderberry.go b/etherman/sequence_batches_decode_elderberry.go
index 9499efd..927cadc 100644
--- a/etherman/sequence_batches_decode_elderberry.go
+++ b/etherman/sequence_batches_decode_elderberry.go
@@ -49,17 +49,22 @@ func (s *SequenceBatchesDecodeElderberry) DecodeSequenceBatches(txData []byte, l
 			InitSequencedBatchNumber: initSequencedBatchNumber,
 		}
 		bn := lastBatchNumber - uint64(len(sequences)-(i+1))
-		s := seq
+		s := EtrogSequenceData{
+			Transactions:         seq.Transactions,
+			ForcedGlobalExitRoot: seq.ForcedGlobalExitRoot,
+			ForcedTimestamp:      seq.ForcedTimestamp,
+			ForcedBlockHashL1:    seq.ForcedBlockHashL1,
+		}
 		sequencedBatches[i] = SequencedBatch{
-			BatchNumber:                     bn,
-			L1InfoRoot:                      &l1InfoRoot,
-			SequencerAddr:                   sequencer,
-			TxHash:                          txHash,
-			Nonce:                           nonce,
-			Coinbase:                        coinbase,
-			PolygonRollupBaseEtrogBatchData: &s,
-			SequencedBatchElderberryData:    &elderberry,
-			Metadata:                        SequencedBatchMetadata,
+			BatchNumber:                  bn,
+			L1InfoRoot:                   &l1InfoRoot,
+			SequencerAddr:                sequencer,
+			TxHash:                       txHash,
+			Nonce:                        nonce,
+			Coinbase:                     coinbase,
+			EtrogSequenceData:            &s,
+			SequencedBatchElderberryData: &elderberry,
+			Metadata:                     SequencedBatchMetadata,
 		}
 	}
 	return sequencedBatches, nil
diff --git a/etherman/sequence_batches_decode_elderberry_test.go b/etherman/sequence_batches_decode_elderberry_test.go
index 06b1a8c..37cda60 100644
--- a/etherman/sequence_batches_decode_elderberry_test.go
+++ b/etherman/sequence_batches_decode_elderberry_test.go
@@ -17,10 +17,10 @@ TxHash: 0x44b7aacaf535bd947803c88c18e63358c8ddd44fbb24950efbb5abb50f938cef
 Nonce: 1
 Coinbase: 0x7597b12B953Bffe1457d89E7E4fe3dA149b45D88
 PolygonZkEVMBatchData: nil
-___PolygonRollupBaseEtrogBatchData:ForcedTimestamp: 0
-___PolygonRollupBaseEtrogBatchData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:Transactions: 0b00000890000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000117000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000
+___EtrogSequenceData:ForcedTimestamp: 0
+___EtrogSequenceData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:Transactions: 0b00000890000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000117000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000
 ___SequencedBatchElderberryData:MaxSequenceTimestamp 1710766241
 ___SequencedBatchElderberryData:InitSequencedBatchNumber 1
 Metadata: SourceBatchData:  RollupFlavor: kEVM CallFunctionName: sequenceBatchesElderberry ForkName: elderberry
diff --git a/etherman/sequence_batches_decode_elderberry_validium_test.go b/etherman/sequence_batches_decode_elderberry_validium_test.go
index 9f68fd3..6c974cf 100644
--- a/etherman/sequence_batches_decode_elderberry_validium_test.go
+++ b/etherman/sequence_batches_decode_elderberry_validium_test.go
@@ -20,10 +20,10 @@ TxHash: 0x2cd4d0310ae93fe9e068fa3cc1d7bcb1b6ea66374f48efb2b389bb5a64105a15
 Nonce: 1
 Coinbase: 0x353800524721e11B453f73f523dD8840c215a213
 PolygonZkEVMBatchData: nil
-___PolygonRollupBaseEtrogBatchData:ForcedTimestamp: 0
-___PolygonRollupBaseEtrogBatchData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:Transactions: 01020304
+___EtrogSequenceData:ForcedTimestamp: 0
+___EtrogSequenceData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:Transactions: 01020304
 ___SequencedBatchElderberryData:MaxSequenceTimestamp 1718652049
 ___SequencedBatchElderberryData:InitSequencedBatchNumber 1
 Metadata: SourceBatchData: DA/External RollupFlavor: Validium CallFunctionName: sequenceBatchesElderberryValidium ForkName: elderberry
diff --git a/etherman/sequence_batches_decode_etrog.go b/etherman/sequence_batches_decode_etrog.go
index 278dc9a..4f71d07 100644
--- a/etherman/sequence_batches_decode_etrog.go
+++ b/etherman/sequence_batches_decode_etrog.go
@@ -43,16 +43,21 @@ func (s *SequenceBatchesDecodeEtrog) DecodeSequenceBatches(txData []byte, lastBa
 	sequencedBatches := make([]SequencedBatch, len(sequences))
 	for i, seq := range sequences {
 		bn := lastBatchNumber - uint64(len(sequences)-(i+1))
-		s := seq
+		s := EtrogSequenceData{
+			Transactions:         seq.Transactions,
+			ForcedGlobalExitRoot: seq.ForcedGlobalExitRoot,
+			ForcedTimestamp:      seq.ForcedTimestamp,
+			ForcedBlockHashL1:    seq.ForcedBlockHashL1,
+		}
 		sequencedBatches[i] = SequencedBatch{
-			BatchNumber:                     bn,
-			L1InfoRoot:                      &l1InfoRoot,
-			SequencerAddr:                   sequencer,
-			TxHash:                          txHash,
-			Nonce:                           nonce,
-			Coinbase:                        coinbase,
-			PolygonRollupBaseEtrogBatchData: &s,
-			Metadata:                        SequencedBatchMetadata,
+			BatchNumber:       bn,
+			L1InfoRoot:        &l1InfoRoot,
+			SequencerAddr:     sequencer,
+			TxHash:            txHash,
+			Nonce:             nonce,
+			Coinbase:          coinbase,
+			EtrogSequenceData: &s,
+			Metadata:          SequencedBatchMetadata,
 		}
 	}
 	return sequencedBatches, nil
diff --git a/etherman/sequence_batches_decode_etrog_test.go b/etherman/sequence_batches_decode_etrog_test.go
index 4e55f8f..48e0253 100644
--- a/etherman/sequence_batches_decode_etrog_test.go
+++ b/etherman/sequence_batches_decode_etrog_test.go
@@ -17,10 +17,10 @@ TxHash: 0x4cfe3c40423272d4c7e9e62ef04fe0daf4f93b7c74fd2ce85681439540fed351
 Nonce: 5345
 Coinbase: 0x761d53b47334bEe6612c0Bd1467FB881435375B2
 PolygonZkEVMBatchData: nil
-___PolygonRollupBaseEtrogBatchData:ForcedTimestamp: 0
-___PolygonRollupBaseEtrogBatchData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
-___PolygonRollupBaseEtrogBatchData:Transactions: 0b000009ff000000010b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000039a00000002ed82c566840646c02082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80807253da669b2120e437c571610d9cee00c858cf3372aae4c3ed62dacc195046e74e0c486c4729a93e98dc545e988cbed672ceef55fd053838d2c3453c2ca5d0881bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c5678402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80802443e6ad6896c53bfab5158bad2b3e0e8f394327429d385c2ed06073d5ddee10255a3f04b133d6a429ede9034133c06d7d45488b25b8c94cbc3864bf6b55c1bd1cff0b0000000300000000ec82c56883e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80801347492658eccdf8d8ce2661e9839cd5a0bf686811458684f0c76d15d3883dc900f419b1913459aacedfe1302b0e33c666ac38eab89d316f554a8915251466911bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000030b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c5698402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808072f2383ad4072fdd10136146e34a07afab3e31cccc3f224d35819b6c1426e93c6c5d790d959ea3cc771c47e1c86bb5f3890f688375595db43991145645f83f2b1bff0b0000000300000000ec82c56a83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080cb06fde9c2e439c24a3554d650ccfe2358ca938658b631b8076bf5208463353f247273123ef18bf21d3d063c22f3968cdca6993e7e98ddc469a57b4d3b6e83b51bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9016c8204fb83e975a0828ac994dbc6981a11fc2b000c635bfa7c47676b25c87d3980b9014401d5062a00000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a8080aa674af1f2cbfaa5b0ac761695d070e09f95582158e124d955f89b3f0330bffc4b37067f0bc428f198d82e611cef239ff84a8ba6e47473cd3a371f7a08af8ef71cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56b8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080772be78177b949f59bdeffcbf72da39b12f3410423b4ebce136ef3b4813788be3e70ebbd1ac8d332a920511c791dc03e517d717fad57961c2ea78eedb52c3fb71bff0b0000000300000000ec82c56c83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808011c1e4ba436f71fa5fcc69f0fb2ab263269c969686478e65833627e1ab90514b765d3b23bf19c939816f79a6b2d945566459eca8da9284a426be9d3f336964d01bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9016c8204fc83e975a0828ac994dbc6981a11fc2b000c635bfa7c47676b25c87d3980b9014401d5062a00000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a80807ebe71b3d331d4acb7c9c7b26ea5ce1001f3ed1271bdbc3ce1ea7fb3611720ce42b838370ac3e44a2d410a7c31a130b80dc90b7fb26684764ecb6cf6876456541cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9014d8204fd83e975a0830166bc94dbc6981a11fc2b000c635bfa7c47676b25c87d3980b90124134008d300000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a8080761e47d90088b5e3a29a6b0292392daec129e2c189d55702e1e2a196ae3818b817114adb404ebd3ee2bd6e71531248538b4cd9f5df893927664f981073dfa5eb1cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56d8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080124ca004395f26c37f8e53ce02b34cf8b95a8d990f84bd7f2e8dbdb8f5bffee3402dc6ac9423e119b62d79a99adc7f93ced8ae4d2c4f387305109d2b54d6018e1bff0b0000000300000000ec82c56e83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080931bca68ce1452bb5fe34529902fbc9e49b3a04750a449d90f83ef39ef157d8d05b0f1518b97a40b44233b6e0425bae1a4a395907839ccced43ef21f3c5b1aac1bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56f8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080192f437e24128dfc37ef76825916ef3292a7b7ec1e7f477e529a1c7ccac9aa3425330c0a821fee7a6f5f081652d4e88a0f892450a0da532d6c86e353c781739c1bff0b0000000300000000ec82c57083e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808014a58636aa8041924d8b9063e19a846ae7426c154e5b86bebd8ddb41f9e948a9200a05a4fcf78f8be3e260ec08bffedbf2edbd2331dba829059912c3783228441bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000
+___EtrogSequenceData:ForcedTimestamp: 0
+___EtrogSequenceData:ForcedGlobalExitRoot: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:ForcedBlockHashL1: 0000000000000000000000000000000000000000000000000000000000000000
+___EtrogSequenceData:Transactions: 0b000009ff000000010b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000039a00000002ed82c566840646c02082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80807253da669b2120e437c571610d9cee00c858cf3372aae4c3ed62dacc195046e74e0c486c4729a93e98dc545e988cbed672ceef55fd053838d2c3453c2ca5d0881bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c5678402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80802443e6ad6896c53bfab5158bad2b3e0e8f394327429d385c2ed06073d5ddee10255a3f04b133d6a429ede9034133c06d7d45488b25b8c94cbc3864bf6b55c1bd1cff0b0000000300000000ec82c56883e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a80801347492658eccdf8d8ce2661e9839cd5a0bf686811458684f0c76d15d3883dc900f419b1913459aacedfe1302b0e33c666ac38eab89d316f554a8915251466911bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000030b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c5698402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808072f2383ad4072fdd10136146e34a07afab3e31cccc3f224d35819b6c1426e93c6c5d790d959ea3cc771c47e1c86bb5f3890f688375595db43991145645f83f2b1bff0b0000000300000000ec82c56a83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080cb06fde9c2e439c24a3554d650ccfe2358ca938658b631b8076bf5208463353f247273123ef18bf21d3d063c22f3968cdca6993e7e98ddc469a57b4d3b6e83b51bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9016c8204fb83e975a0828ac994dbc6981a11fc2b000c635bfa7c47676b25c87d3980b9014401d5062a00000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a8080aa674af1f2cbfaa5b0ac761695d070e09f95582158e124d955f89b3f0330bffc4b37067f0bc428f198d82e611cef239ff84a8ba6e47473cd3a371f7a08af8ef71cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56b8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080772be78177b949f59bdeffcbf72da39b12f3410423b4ebce136ef3b4813788be3e70ebbd1ac8d332a920511c791dc03e517d717fad57961c2ea78eedb52c3fb71bff0b0000000300000000ec82c56c83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808011c1e4ba436f71fa5fcc69f0fb2ab263269c969686478e65833627e1ab90514b765d3b23bf19c939816f79a6b2d945566459eca8da9284a426be9d3f336964d01bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9016c8204fc83e975a0828ac994dbc6981a11fc2b000c635bfa7c47676b25c87d3980b9014401d5062a00000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a80807ebe71b3d331d4acb7c9c7b26ea5ce1001f3ed1271bdbc3ce1ea7fb3611720ce42b838370ac3e44a2d410a7c31a130b80dc90b7fb26684764ecb6cf6876456541cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000f9014d8204fd83e975a0830166bc94dbc6981a11fc2b000c635bfa7c47676b25c87d3980b90124134008d300000000000000000000000085ceb41028b1a5ed2b88e395145344837308b251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000528e26b25a34a4a5d0dbda1d57d318153d2ed5820000000000000000000000001f4479ccb333fcba58e68f04e38f3ab070983b310000000000000000000000000000000000000000000000000000000082098a8080761e47d90088b5e3a29a6b0292392daec129e2c189d55702e1e2a196ae3818b817114adb404ebd3ee2bd6e71531248538b4cd9f5df893927664f981073dfa5eb1cff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56d8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080124ca004395f26c37f8e53ce02b34cf8b95a8d990f84bd7f2e8dbdb8f5bffee3402dc6ac9423e119b62d79a99adc7f93ced8ae4d2c4f387305109d2b54d6018e1bff0b0000000300000000ec82c56e83e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080931bca68ce1452bb5fe34529902fbc9e49b3a04750a449d90f83ef39ef157d8d05b0f1518b97a40b44233b6e0425bae1a4a395907839ccced43ef21f3c5b1aac1bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000ed82c56f8402bc60e082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a8080192f437e24128dfc37ef76825916ef3292a7b7ec1e7f477e529a1c7ccac9aa3425330c0a821fee7a6f5f081652d4e88a0f892450a0da532d6c86e353c781739c1bff0b0000000300000000ec82c57083e975a082520894417a7ba2d8d0060ae6c54fd098590db854b9c1d58609184e72a0008082098a808014a58636aa8041924d8b9063e19a846ae7426c154e5b86bebd8ddb41f9e948a9200a05a4fcf78f8be3e260ec08bffedbf2edbd2331dba829059912c3783228441bff0b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b00000003000000000b0000000300000000
 SequencedBatchElderberryData: nil
 Metadata: SourceBatchData:  RollupFlavor: kEVM CallFunctionName: sequenceBatchesEtrog ForkName: etrog
 `
diff --git a/etherman/sequence_batches_decode_shared.go b/etherman/sequence_batches_decode_shared.go
index 272b019..e550565 100644
--- a/etherman/sequence_batches_decode_shared.go
+++ b/etherman/sequence_batches_decode_shared.go
@@ -96,7 +96,7 @@ func createSequencedBatchList(sequencesValidium []polygonzkevm.PolygonValidiumEt
 	sequencedBatches := make([]SequencedBatch, len(sequencesValidium))
 	for i, info := range batchInfos {
 		bn := info.num
-		s := polygonzkevm.PolygonRollupBaseEtrogBatchData{
+		s := EtrogSequenceData{
 			Transactions:         batchData[i].Data,
 			ForcedGlobalExitRoot: sequencesValidium[i].ForcedGlobalExitRoot,
 			ForcedTimestamp:      sequencesValidium[i].ForcedTimestamp,
@@ -113,14 +113,14 @@ func createSequencedBatchList(sequencesValidium []polygonzkevm.PolygonValidiumEt
 			}
 		}
 		batch := SequencedBatch{
-			BatchNumber:                     bn,
-			L1InfoRoot:                      &l1InfoRoot,
-			SequencerAddr:                   sequencer,
-			TxHash:                          txHash,
-			Nonce:                           nonce,
-			Coinbase:                        coinbase,
-			PolygonRollupBaseEtrogBatchData: &s,
-			Metadata:                        metaData,
+			BatchNumber:       bn,
+			L1InfoRoot:        &l1InfoRoot,
+			SequencerAddr:     sequencer,
+			TxHash:            txHash,
+			Nonce:             nonce,
+			Coinbase:          coinbase,
+			EtrogSequenceData: &s,
+			Metadata:          metaData,
 		}
 
 		elderberry := &SequencedBatchElderberryData{
diff --git a/etherman/types.go b/etherman/types.go
index 5f7f6cd..4b453c8 100644
--- a/etherman/types.go
+++ b/etherman/types.go
@@ -2,11 +2,11 @@ package etherman
 
 import (
 	"encoding/hex"
+	"encoding/json"
 	"fmt"
 	"time"
 
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/etherman/smartcontracts/oldpolygonzkevm"
-	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/etherman/smartcontracts/polygonzkevm"
 	"github.com/ethereum/go-ethereum/common"
 )
 
@@ -75,6 +75,38 @@ func (s *SequencedBatchMetadata) String() string {
 	return fmt.Sprintf("SourceBatchData: %s RollupFlavor: %s CallFunctionName: %s ForkName: %s", s.SourceBatchData, s.RollupFlavor, s.CallFunctionName, s.ForkName)
 }
 
+type BananaSequenceData struct {
+	CounterL1InfoRoot         uint32
+	MaxSequenceTimestamp      uint64
+	ExpectedFinalAccInputHash common.Hash
+	DataAvailabilityMsg       []byte
+}
+
+func (b *BananaSequenceData) String() string {
+	res := fmt.Sprintf("CounterL1InfoRoot: %d MaxSequenceTimestamp: %d ExpectedFinalAccInputHash: %s", b.CounterL1InfoRoot, b.MaxSequenceTimestamp, b.ExpectedFinalAccInputHash.String())
+	daMsg := fmt.Sprintf("DataAvailabilityMsg(%d):", len(b.DataAvailabilityMsg))
+	if len(b.DataAvailabilityMsg) > 0 {
+		daMsg += " " + hex.EncodeToString(b.DataAvailabilityMsg)
+	}
+	return res + " " + daMsg
+}
+
+func (b *BananaSequenceData) ToJson() string {
+	jsonData, err := json.Marshal(b)
+	if err != nil {
+		return "error"
+	}
+	return string(jsonData)
+}
+
+// EtrogSequenceData also apply to Elderberry
+type EtrogSequenceData struct {
+	Transactions         []byte
+	ForcedGlobalExitRoot common.Hash
+	ForcedTimestamp      uint64
+	ForcedBlockHashL1    common.Hash
+}
+
 // SequencedBatch represents virtual batch
 type SequencedBatch struct {
 	BatchNumber   uint64
@@ -86,10 +118,12 @@ type SequencedBatch struct {
 	// Struct used in preEtrog forks
 	*oldpolygonzkevm.PolygonZkEVMBatchData
 	// Struct used in Etrog + Elderberry
-	*polygonzkevm.PolygonRollupBaseEtrogBatchData
+	//*polygonzkevm.PolygonRollupBaseEtrogBatchData
+	*EtrogSequenceData
 	// Struct used in Elderberry
 	*SequencedBatchElderberryData
-	Metadata *SequencedBatchMetadata
+	BananaData *BananaSequenceData
+	Metadata   *SequencedBatchMetadata
 }
 
 func (s *SequencedBatch) String() string {
@@ -104,14 +138,14 @@ func (s *SequencedBatch) String() string {
 	} else {
 		res += "PolygonZkEVMBatchData: nil\n"
 	}
-	if s.PolygonRollupBaseEtrogBatchData != nil {
-		res += fmt.Sprintf("___PolygonRollupBaseEtrogBatchData:ForcedTimestamp: %d\n", s.PolygonRollupBaseEtrogBatchData.ForcedTimestamp)
-		res += fmt.Sprintf("___PolygonRollupBaseEtrogBatchData:ForcedGlobalExitRoot: %s\n", hex.EncodeToString(s.PolygonRollupBaseEtrogBatchData.ForcedGlobalExitRoot[:]))
-		res += fmt.Sprintf("___PolygonRollupBaseEtrogBatchData:ForcedBlockHashL1: %s\n", hex.EncodeToString(s.PolygonRollupBaseEtrogBatchData.ForcedBlockHashL1[:]))
-		res += fmt.Sprintf("___PolygonRollupBaseEtrogBatchData:Transactions: %s\n", hex.EncodeToString(s.PolygonRollupBaseEtrogBatchData.Transactions))
+	if s.EtrogSequenceData != nil {
+		res += fmt.Sprintf("___EtrogSequenceData:ForcedTimestamp: %d\n", s.EtrogSequenceData.ForcedTimestamp)
+		res += fmt.Sprintf("___EtrogSequenceData:ForcedGlobalExitRoot: %s\n", hex.EncodeToString(s.EtrogSequenceData.ForcedGlobalExitRoot[:]))
+		res += fmt.Sprintf("___EtrogSequenceData:ForcedBlockHashL1: %s\n", hex.EncodeToString(s.EtrogSequenceData.ForcedBlockHashL1[:]))
+		res += fmt.Sprintf("___EtrogSequenceData:Transactions: %s\n", hex.EncodeToString(s.EtrogSequenceData.Transactions))
 
 	} else {
-		res += "PolygonRollupBaseEtrogBatchData: nil\n"
+		res += "EtrogSequenceData: nil\n"
 	}
 	if s.SequencedBatchElderberryData != nil {
 		res += fmt.Sprintf("___SequencedBatchElderberryData:MaxSequenceTimestamp %d\n", s.SequencedBatchElderberryData.MaxSequenceTimestamp)
@@ -120,12 +154,16 @@ func (s *SequencedBatch) String() string {
 	} else {
 		res += "SequencedBatchElderberryData: nil\n"
 	}
+	if s.BananaData != nil {
+		res += fmt.Sprintf("BananaData: %s\n", s.BananaData.String())
+	}
 	if s.Metadata != nil {
 		res += fmt.Sprintf("Metadata: %s\n", s.Metadata.String())
 	} else {
 		res += "Metadata: nil\n"
 
 	}
+
 	return res
 }
 
@@ -133,8 +171,8 @@ func (s *SequencedBatch) BatchL2Data() []byte {
 	if s.PolygonZkEVMBatchData != nil {
 		return s.PolygonZkEVMBatchData.Transactions
 	}
-	if s.PolygonRollupBaseEtrogBatchData != nil {
-		return s.PolygonRollupBaseEtrogBatchData.Transactions
+	if s.EtrogSequenceData != nil {
+		return s.EtrogSequenceData.Transactions
 	}
 	return nil
 }
@@ -146,7 +184,7 @@ type UpdateEtrogSequence struct {
 	TxHash        common.Hash
 	Nonce         uint64
 	// Struct used in Etrog
-	*polygonzkevm.PolygonRollupBaseEtrogBatchData
+	*EtrogSequenceData
 }
 
 // ForcedBatch represents a ForcedBatch
@@ -175,7 +213,7 @@ type SequencedForceBatch struct {
 	TxHash      common.Hash
 	Timestamp   time.Time
 	Nonce       uint64
-	polygonzkevm.PolygonRollupBaseEtrogBatchData
+	EtrogSequenceData
 }
 
 // ForkID is a sturct to track the ForkID event.
diff --git a/go.mod b/go.mod
index 00bac66..0fc6b09 100644
--- a/go.mod
+++ b/go.mod
@@ -23,6 +23,7 @@ require (
 )
 
 require (
+	github.com/0xPolygon/cdk-contracts-tooling v0.0.0-20240819092536-5a65d4761b2f // indirect
 	github.com/DataDog/zstd v1.5.2 // indirect
 	github.com/Microsoft/go-winio v0.6.2 // indirect
 	github.com/StackExchange/wmi v1.2.1 // indirect
diff --git a/go.sum b/go.sum
index 2cfbfc8..54be03f 100644
--- a/go.sum
+++ b/go.sum
@@ -37,6 +37,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
 cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
 cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+github.com/0xPolygon/cdk-contracts-tooling v0.0.0-20240819092536-5a65d4761b2f h1:i9oCNDG4N7ha3fNkEKbito/HF3o4gjnW6//cpTwnp8E=
+github.com/0xPolygon/cdk-contracts-tooling v0.0.0-20240819092536-5a65d4761b2f/go.mod h1:mFlcEjsm2YBBsu8atHJ3zyVnwM+Z/fMXpVmIJge+WVU=
 github.com/0xPolygon/cdk-data-availability v0.0.7 h1:i5v2I8uEgHSZ5BjnJs3Dsy1XpKdSvfZbON9D16gSCUg=
 github.com/0xPolygon/cdk-data-availability v0.0.7/go.mod h1:qF+xt2gYwBab8XPh3fr6pnNUMEJq/32rmJN0D630hmY=
 github.com/0xPolygon/cdk-data-availability v0.0.8-0.20240712072318-72ae67613cbf h1:VWxVYeDhDURGp8pHR4kq3jwoXRazVHsQLMMIqYsO+Fw=
diff --git a/synchronizer/actions/banana/processor_l1_sequence_batches.go b/synchronizer/actions/banana/processor_l1_sequence_batches.go
new file mode 100644
index 0000000..788e5e8
--- /dev/null
+++ b/synchronizer/actions/banana/processor_l1_sequence_batches.go
@@ -0,0 +1,69 @@
+package banana
+
+import (
+	"context"
+	"time"
+
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/etherman"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/state/entities"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions"
+	"github.com/ethereum/go-ethereum/common"
+)
+
+type ProcessorL1SequenceBatchesBanana struct {
+	actions.ProcessorBase[ProcessorL1SequenceBatchesBanana]
+	state stateOnSequencedBatchesInterface
+}
+
+// NewProcessorL1SequenceBatchesElderberry returns instance of a processor for SequenceBatchesOrder
+func NewProcessorL1SequenceBatchesBanana(state stateOnSequencedBatchesInterface) *ProcessorL1SequenceBatchesBanana {
+	return &ProcessorL1SequenceBatchesBanana{
+		ProcessorBase: actions.ProcessorBase[ProcessorL1SequenceBatchesBanana]{
+			SupportedEvent:    []etherman.EventOrder{etherman.SequenceBatchesOrder},
+			SupportedForkdIds: &actions.ForksIdOnlyBanana},
+		state: state,
+	}
+}
+
+func (g *ProcessorL1SequenceBatchesBanana) Process(ctx context.Context, forkId actions.ForkIdType, order etherman.Order, l1Block *etherman.Block, dbTx entities.Tx) error {
+	if l1Block == nil || len(l1Block.SequencedBatches) <= order.Pos {
+		return actions.ErrInvalidParams
+	}
+
+	if len(l1Block.SequencedBatches[order.Pos]) == 0 {
+		log.Warnf("No sequenced batches for position")
+		return nil
+	}
+	err := g.ProcessSequenceBatches(ctx, forkId, l1Block.SequencedBatches[order.Pos], l1Block.BlockNumber, l1Block.ReceivedAt, dbTx)
+	return err
+}
+
+// ProcessSequenceBatches process sequence of batches
+func (p *ProcessorL1SequenceBatchesBanana) ProcessSequenceBatches(ctx context.Context, forkId ForkIdType, sequencedBatches []etherman.SequencedBatch, blockNumber uint64, l1BlockTimestamp time.Time, dbTx stateTxType) error {
+	if len(sequencedBatches) == 0 {
+		log.Warn("Empty sequencedBatches array detected, ignoring...")
+		return nil
+	}
+	l1inforoot := common.Hash{}
+	if sequencedBatches[0].L1InfoRoot != nil {
+		l1inforoot = *sequencedBatches[0].L1InfoRoot
+	}
+	seq := SequenceOfBatches{}
+	seqSource := string(etherman.SequenceBatchesOrder)
+	if sequencedBatches[0].Metadata != nil {
+		seqSource = seqSource + "/" + sequencedBatches[0].Metadata.RollupFlavor + "/" + sequencedBatches[0].Metadata.ForkName
+	}
+	seq.Sequence = *entities.NewSequencedBatches(
+		sequencedBatches[0].BatchNumber, sequencedBatches[len(sequencedBatches)-1].BatchNumber,
+		blockNumber, uint64(forkId),
+		l1BlockTimestamp, time.Now(),
+		l1inforoot, seqSource)
+
+	for _, sequencedBatch := range sequencedBatches {
+		virtualBatch := entities.NewVirtualBatchFromL1(blockNumber, seq.Sequence.FromBatchNumber,
+			seq.Sequence.ForkID, sequencedBatch)
+		seq.Batches = append(seq.Batches, virtualBatch)
+	}
+	return p.state.OnSequencedBatchesOnL1(ctx, seq, dbTx)
+}
diff --git a/synchronizer/actions/banana/types.go b/synchronizer/actions/banana/types.go
new file mode 100644
index 0000000..2d09264
--- /dev/null
+++ b/synchronizer/actions/banana/types.go
@@ -0,0 +1,20 @@
+package banana
+
+import (
+	"context"
+
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/state/entities"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/state/model"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions"
+)
+
+type L1InfoTreeLeaf = entities.L1InfoTreeLeaf
+type stateTxType = entities.Tx
+type ForkIdType = actions.ForkIdType
+type VirtualBatch = entities.VirtualBatch
+type SequencedBatches = entities.SequencedBatches
+type SequenceOfBatches = model.SequenceOfBatches
+
+type stateOnSequencedBatchesInterface interface {
+	OnSequencedBatchesOnL1(ctx context.Context, seq SequenceOfBatches, dbTx stateTxType) error
+}
diff --git a/synchronizer/actions/elderberry/processor_l1_sequence_batches.go b/synchronizer/actions/elderberry/processor_l1_sequence_batches.go
index 731699d..90098e9 100644
--- a/synchronizer/actions/elderberry/processor_l1_sequence_batches.go
+++ b/synchronizer/actions/elderberry/processor_l1_sequence_batches.go
@@ -34,7 +34,7 @@ func NewProcessorL1SequenceBatchesElderberry(previousProcessor PreviousProcessor
 	return &ProcessorL1SequenceBatchesElderberry{
 		ProcessorBase: actions.ProcessorBase[ProcessorL1SequenceBatchesElderberry]{
 			SupportedEvent:    []etherman.EventOrder{etherman.SequenceBatchesOrder},
-			SupportedForkdIds: &actions.ForksIdElderberryAndBanana},
+			SupportedForkdIds: &actions.ForksIdOnlyElderberry},
 		previousProcessor: previousProcessor,
 	}
 }
diff --git a/synchronizer/actions/etrog/processor_l1_initial_sequence_batches.go b/synchronizer/actions/etrog/processor_l1_initial_sequence_batches.go
index d66599c..2f4be71 100644
--- a/synchronizer/actions/etrog/processor_l1_initial_sequence_batches.go
+++ b/synchronizer/actions/etrog/processor_l1_initial_sequence_batches.go
@@ -46,8 +46,8 @@ func (p *ProcessorL1InitialSequenceBatches) ProcessSequenceBatches(ctx context.C
 		return fmt.Errorf("invalid initial batch number, expected 1 , received %d", sequencedBatches[0].BatchNumber)
 	}
 
-	l1inforoot := sequencedBatches[0].PolygonRollupBaseEtrogBatchData.ForcedGlobalExitRoot
-	l1BlockTimestamp := time.Unix(int64(sequencedBatches[0].PolygonRollupBaseEtrogBatchData.ForcedTimestamp), 0)
+	l1inforoot := sequencedBatches[0].EtrogSequenceData.ForcedGlobalExitRoot
+	l1BlockTimestamp := time.Unix(int64(sequencedBatches[0].EtrogSequenceData.ForcedTimestamp), 0)
 	seq := SequenceOfBatches{}
 
 	seq.Sequence = *entities.NewSequencedBatches(
diff --git a/synchronizer/actions/etrog/processor_l1_update_etrog_sequence.go b/synchronizer/actions/etrog/processor_l1_update_etrog_sequence.go
index 01c96f7..5cd717d 100644
--- a/synchronizer/actions/etrog/processor_l1_update_etrog_sequence.go
+++ b/synchronizer/actions/etrog/processor_l1_update_etrog_sequence.go
@@ -37,7 +37,7 @@ func (p *ProcessorL1UpdateEtrogSequence) Process(ctx context.Context, forkId For
 }
 
 func (p *ProcessorL1UpdateEtrogSequence) processUpdateEtrogSequence(ctx context.Context, forkId ForkIdType, order etherman.Order, updateEtrogSequence etherman.UpdateEtrogSequence, blockNumber uint64, l1BlockTimestamp time.Time, dbTx stateTxType) error {
-	l1inforoot := common.Hash(updateEtrogSequence.PolygonRollupBaseEtrogBatchData.ForcedGlobalExitRoot)
+	l1inforoot := common.Hash(updateEtrogSequence.EtrogSequenceData.ForcedGlobalExitRoot)
 	seq := SequenceOfBatches{}
 	seq.Sequence = *entities.NewSequencedBatches(
 		updateEtrogSequence.BatchNumber, updateEtrogSequence.BatchNumber,
@@ -45,11 +45,11 @@ func (p *ProcessorL1UpdateEtrogSequence) processUpdateEtrogSequence(ctx context.
 		l1BlockTimestamp, time.Now(),
 		l1inforoot, string(order.Name))
 	ethSeqBatch := etherman.SequencedBatch{
-		BatchNumber:                     updateEtrogSequence.BatchNumber,
-		L1InfoRoot:                      &l1inforoot,
-		SequencerAddr:                   updateEtrogSequence.SequencerAddr,
-		TxHash:                          updateEtrogSequence.TxHash,
-		PolygonRollupBaseEtrogBatchData: updateEtrogSequence.PolygonRollupBaseEtrogBatchData,
+		BatchNumber:       updateEtrogSequence.BatchNumber,
+		L1InfoRoot:        &l1inforoot,
+		SequencerAddr:     updateEtrogSequence.SequencerAddr,
+		TxHash:            updateEtrogSequence.TxHash,
+		EtrogSequenceData: updateEtrogSequence.EtrogSequenceData,
 	}
 
 	batch := entities.NewVirtualBatchFromL1(blockNumber, seq.Sequence.FromBatchNumber, uint64(forkId), ethSeqBatch)
diff --git a/synchronizer/actions/forksids.go b/synchronizer/actions/forksids.go
index eda0ecf..1309572 100644
--- a/synchronizer/actions/forksids.go
+++ b/synchronizer/actions/forksids.go
@@ -27,6 +27,9 @@ var (
 	// ForksIdAll support all forkIds
 	ForksIdAll = []ForkIdType{WildcardForkId}
 
+	// ForksIdOnlyBanana support only banana forkId
+	ForksIdOnlyBanana = []ForkIdType{ForkIDBanana}
+
 	// ForksIdOnlyEtrogAndElderberry support ETROG and ELDERBERRY
 	ForksIdOnlyEtrogAndElderberry = []ForkIdType{ForkIDEtrog, ForkIDElderberry, ForkID9, ForkID10, ForkID11}
 
diff --git a/synchronizer/internal/synchronizer_impl.go b/synchronizer/internal/synchronizer_impl.go
index 12e093f..742abee 100644
--- a/synchronizer/internal/synchronizer_impl.go
+++ b/synchronizer/internal/synchronizer_impl.go
@@ -9,6 +9,7 @@ import (
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/log"
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/state/entities"
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/state/model"
+	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions/banana"
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions/elderberry"
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions/etrog"
 	"github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/actions/incaberry"
@@ -142,6 +143,7 @@ func newL1EventProcessor(state syncinterfaces.StateInterface) *processor_manager
 	builder.Register(etrog.NewProcessorL1InitialSequenceBatches(state))
 	builder.Register(elderberry.NewProcessorL1SequenceBatchesElderberry(etrogSequenceBatchesProcessor))
 	builder.Register(etrog.NewProcessorL1UpdateEtrogSequence(state))
+	builder.Register(banana.NewProcessorL1SequenceBatchesBanana(state))
 	return builder.Build()
 }
 
diff --git a/translator/config.go b/translator/config.go
index 68aacd7..f4a3703 100644
--- a/translator/config.go
+++ b/translator/config.go
@@ -7,5 +7,5 @@ type ConfigRuleFullMatch struct {
 }
 
 type Config struct {
-	FullMatchRules []ConfigRuleFullMatch `mapstructure:"UniversalFullRules"`
+	FullMatchRules []ConfigRuleFullMatch `mapstructure:"FullMatchRules"`
 }
diff --git a/version.go b/version.go
index 939a422..b111d94 100644
--- a/version.go
+++ b/version.go
@@ -7,7 +7,7 @@ import (
 )
 
 var (
-	Version = "v0.6.5"
+	Version = "v0.6.6"
 )
 
 // PrintVersion prints version info into the provided io.Writer.