transact with hint