diff --git a/engine/engine.go b/engine/engine.go
index 691aadbb8a4fd68f07f4e04b834725bd3a537ff3..c8affddb71e7a01fde206eb2817a59c6e15d52b3 100644
--- a/engine/engine.go
+++ b/engine/engine.go
@@ -1,11 +1,12 @@
 package engine
 
 import (
+	"sync"
+
 	"github.com/exchain/orderbook/database"
 	"github.com/exchain/orderbook/leveldb"
 	"github.com/exchain/orderbook/orderbook"
 	"github.com/exchain/orderbook/types"
-	"sync"
 
 	"github.com/exchain/go-exchain/exchain"
 	"github.com/exchain/go-exchain/exchain/chaindb"
@@ -79,10 +80,10 @@ func (e *Engine) Start() {
 	e.InitPairs()
 }
 
-func (e *Engine) NewPayload(params exchain.PayloadParams) (*exchain.ExecutionResult, error) {
+func (e *Engine) NewPayload(params exchain.PayloadParams) (exchain.ExecutionResult, error) {
 	parent, err := e.chainDB.GetBlockByLabel(chaindb.ExChainBlockLatest)
 	if err != nil {
-		return nil, err
+		return exchain.ExecutionResult{}, err
 	}
 	wParent := wrapper.NewBlkWrapper(parent)
 	header := &nebulav1.BlockHeader{
@@ -96,18 +97,18 @@ func (e *Engine) NewPayload(params exchain.PayloadParams) (*exchain.ExecutionRes
 	}
 	receipts, err := e.ProcessTx(header, params.Transactions)
 	if err != nil {
-		return nil, err
+		return exchain.ExecutionResult{}, err
 	}
 
 	orderTxs, orderReceipts, err := e.ProcessOrders(header)
 	if err != nil {
-		return nil, err
+		return exchain.ExecutionResult{}, err
 	}
 
 	params.Transactions.Txs = append(params.Transactions.Txs, orderTxs.Txs...)
 	receipts.Receipts = append(receipts.Receipts, orderReceipts.Receipts...)
 
-	result := &exchain.ExecutionResult{
+	result := exchain.ExecutionResult{
 		Payload: &nebulav1.Block{
 			Header:       header,
 			Transactions: params.Transactions,