diff --git a/api/src/StamperWrapper.js b/api/src/StamperWrapper.js
index 7eebbb3ef4d60f9620e6dd31600dd0cbf5925622..41b6140e93dd2d18c74a07851d6fe4f2f1a23ff7 100644
--- a/api/src/StamperWrapper.js
+++ b/api/src/StamperWrapper.js
@@ -11,7 +11,7 @@ class Stamper {
     // utiliza la cuenta walletAccount para enviar la transaccion
     // (o defaultAccount si no se especifica)
     async stamp(objects, walletAccount) {
-        console.log(`stamping ${objects}`)
+        console.log(`asked to stamp ${objects}`)
 
         // si walletAccount es undefined trata de usar la account de web3.eth.defaultAccount
         let defaultAccount = (walletAccount) ? walletAccount.address : this.web3.eth.defaultAccount
@@ -19,13 +19,21 @@ class Stamper {
 
         for (let i=0; i < objects.length; i++) {
             let blockNo = await this.contract.methods.getBlockNo(objects[i], defaultAccount).call()
-            if (blockNo == 0) objectsToStamp.push(objects[i])
+            if (blockNo == 0)
+	    {
+		objectsToStamp.push(objects[i])
+	    }
+	    else
+	    {
+        	console.log(`already stamped: ` + objects[i] );
+	    }
         }
 
         if (objectsToStamp.length == 0) return new Promise( (resolve) => {
             console.log(`Los objects enviados ya están stampeados`)
             resolve()
         })
+        console.log(`stamping ` + objectsToStamp.join(', ') );
 
         let txPromise
         let gasLimit = 2000000
@@ -42,7 +50,8 @@ class Stamper {
                 //chainId: '200941592',
                 gas: gasLimit,
                 // gasLimit: gasLimit,
-                data: encodedABI
+                data: encodedABI,
+		nonce: this.web3.bfa.txnonce++
             }
             // tx.v = Buffer.from([47525974938])
             // tx.nonce = this.web3.utils.toHex(await this.web3.eth.getTransactionCount(defaultAccount))
diff --git a/api/src/index.js b/api/src/index.js
index 598d3ce92257e04b059fea8dacf24f32c651cd81..51a8a124376cacecdc7aec3ec888cc1c020f4cbd 100644
--- a/api/src/index.js
+++ b/api/src/index.js
@@ -43,6 +43,9 @@ async function setupWeb3() {
             // se trata de utilizar una que haya abierta
             web3.eth.defaultAccount =   (await web3.eth.getAccounts())[0]
         }
+	web3.bfa	            =   {
+		txnonce: await web3.eth.getTransactionCount(web3.eth.defaultAccount),
+	}
 
         /***************************************************/
         // Carga de contrato
@@ -102,6 +105,7 @@ if ( process.env.API_USER && process.env.API_PASS ) {
 // API Endpoints
 /***************************************************/
 app.get('/wait1block', async (req, res) => {
+    console.log( Date() + ": /wait1block" );
     let     ss                      =   new Stamper(web3, contractAbi, contractAddress)
 
     try {
@@ -119,6 +123,7 @@ app.get('/wait1block', async (req, res) => {
     }
 })
 app.post('/stamp', async (req, res) => {
+    console.log( Date() + ": /stamp " + req.body.hashes.join(', ') );
     let     ss                      =   new Stamper(web3, contractAbi, contractAddress)
 
     if ( ! ("hashes" in req.body) )
@@ -158,6 +163,7 @@ app.post('/stamp', async (req, res) => {
 })
 
 app.get('/verify/:hash', async (req, res) => {
+    console.log( Date() + ": /verify/:" + req.params.hash );
     let     ss                      =   new Stamper(web3, contractAbi, contractAddress)
 
     var     value                   =   req.params.hash
diff --git a/api/start.sh b/api/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7aedb6b33a214bf69e0021e33bc24a9404983dae
--- /dev/null
+++ b/api/start.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# Example startup script
+
+if ip a | grep -q inet.200.108.146.180/
+then
+	mode=test2
+else
+	mode=${1:-prod}
+fi
+
+cd `dirname $0`
+case "$mode" in
+	"prod")
+		modedir=$( echo ~bfa/bfa/network )
+		export CONTRACT_ADDRESS="0x7e56220069CAaF8367EA42817EA9210296AeC7c6"
+		;;
+	"test2")
+		modedir=$( echo ~bfa/bfa/test2network )
+		export CONTRACT_ADDRESS="0xFc0f01A88bD08b988173A2354952087C9492d947"
+		;;
+	"*")
+		echo "Unsupported mode." >&2
+		echo "Usage: $0 <test2|prod>" >&2
+		exit 1
+		;;
+esac
+export GETH_ACCOUNT_JSON=$( ls -1 ${modedir}/node/keystore/UTC* | head -1 )
+export GETH_ACCOUNT_PASSWORD=""
+export GETH_HOST=http://localhost:8545
+export CONTRACT_ABI_PATH="${PWD}/abi.json"
+
+# roll logs
+higher=10
+for n in {9..0}
+do
+	if [ $n -eq 0 ]
+	then
+		mv -f "nohup.out"    "nohup.out.$higher"
+	else
+		mv -f "nohup.out.$n" "nohup.out.$higher"
+	fi
+	higher=$n
+done
+
+nohup npm run serve &
+sleep 1