Is there a way to build and sign transactions with the cardano-cli/api without running a node? I am trying to construct a transaction using the cli or api and submit it using blockfrost. It throws an error about the CARDANO_NODE_SOCKET_PATH since I am not running a node locally. Any help would be appreciated. I would prefer to avoid using the cardano-serialization-lib since I want all my offchain code to be in Haskell too.
You could try building on/with parts of the plutus-apps repo. It doesn't need a node.
However this is not its intended use case so it won't be without problems.
You'll probably have to write your own minAda function, your own balancer, and your own fee calculator. These are deemed the responsibility of the wallet - at present only the
cardano-wallet is feature complete and integrated into plutus in that sense.
The cardano-wallet will not be happy if you don't point it at a node socket.
You dont need a node at all to build or sign CLI transactions (i.e. assuming you're using
cardano-cli transaction build-raw. The only point you might need to look up something from a live node is getting UTxOs to your address (and checking TTL), but atleast for latter you can also calculate current slot remotely (or use tip from your API provider).
As regards input UTxO , blockfrost as well as Koios both offer checking address utxos.