Một giao dịch là một sự dịch chuyển Bitcoin được phát tán tới mạng lưới Bitcoin và gom vào khối. Mỗi giao dịch đều bao gồm đầu vào (là đầu ra trong giao dịch cũ của số Bitcoin đó), đầu ra (chứa thông tin giao dịch) và một đoạn script chứa các điều kiện giao dịch. Đoạn script được viết bằng ngôn ngữ tương tự như ngôn ngữ Forth này được thiết kế một cách tối giản bởi Satoshi, là một chương trình không Turing-complete để tránh vòng lặp vô hạn. Việc sử dụng script trong giao dịch giúp tích hợp các tính năng nâng cao như hợp đồng thông minh, chỉ cho thanh toán nếu 2 trong 3 bên đồng ý. Giao dịch chỉ được mạng lưới chấp nhận cho vào khối nếu scriptSig kết hợp scriptPubKey trong chương trình đó trả về giá trị true và tổng giá trị trong đầu ra không cao hơn tổng giá trị đầu vào. Chênh lệch giữa đầu ra và đầu vào chính là phí giao dịch trả cho mạng lưới.