smart transaction