Overview
SC Tools is a free set of code libraries that helps programmers build Cardano apps that create, pay for, and sign transactions. It is written for developers who use Haskell, a programming language, and it handles the bookkeeping behind each transaction: picking which coins to spend, working out the fee, and adding the signature1. It also ships a small practice blockchain for tests and a command-line tool for inspecting real transactions1.
SC Tools is published by Input Output, a blockchain research and engineering company that works on Cardano. It lives on the company's GitHub organization and is released as open-source code under the Apache 2.0 license1. It sits among Cardano's transaction builders, the libraries developers use to assemble transactions, and targets Haskell projects specifically. The code is split into separate packages covering a shared base, a basic wallet, coin selection, a test chain, and a connection to a Cardano node, a computer that runs Cardano's network software1.
Key Features
- Transactions that balance themselves. SC Tools picks the coins to spend, sets a fee that covers both the regular charge and the cost of running any smart contract (self-executing code on the blockchain), and signs the result through a single function1.
- Support for tokens beyond ADA. The coin selection is built to handle Plutus scripts, Cardano's smart contract format, and native assets, meaning tokens other than ADA that live directly on Cardano1.
- A practice blockchain for automated tests. The SC Tools mockchain, a small imitation of the network that runs inside a test, lets teams build, submit, and check transactions in a few lines of code1.
- Apps that stay in step with the chain. The node client reads new blocks from a Cardano node and automatically returns the app's tracked state to an earlier point when the network discards recent blocks, an event called a rollback1.
- A look inside any transaction. The convex-tx-mod command-line tool downloads a real transaction and everything it spent through the Blockfrost data service, then turns it into a graph file that can be drawn as a diagram1.
What to Expect
Visitors land on a GitHub repository, the public page where the project's code lives. Its README, the guide shown on the repository's front page, walks through short code samples for building a payment, balancing it, writing a test, and following the chain from a node1. A setup file for Nix, a tool that installs matching versions of the project's dependencies, gives developers a ready working environment with one command1.
Developers who want the full reference can browse the published API documentation, a searchable list of modules and functions. It has sections for building transactions, coin selection, the test chain, a private local network, and wallet tools2.
The project's changelog lists what changes between versions. Entries include a fix so fees can be paid from wallet coins that hold both ADA and tokens, and new helpers for staking, reward withdrawals, and governance votes3. Numbered releases on GitHub give teams fixed versions to build against4.
Teams that need heavier testing can pair SC Tools with sc-testing-tools, a companion Input Output project for property-based testing and threat modeling of smart contracts5. Property-based testing throws large numbers of generated scenarios at a contract to look for cases that break it, while threat modeling runs security tests for known attacks such as token forgery5. The SC Tools README points to it as the more extensive testing option1.
