Pact vs Smithy
Pact
pact.ioSmithy
smithy.ioSide by side
| Figure | Pact | Smithy |
|---|---|---|
| Price from | $115.42/mo | — |
| Free plan | Yes | — |
| Free trial | Yes | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 5 | 0 |
| Spec score · API Design Tools | 8.9 (#5) | 7.1 (#24) |
| Integrations | PactFlow's Bi-Directional Contract Testing integrates with OpenAPI and lists Cypress, Postman and Wiremock as tools for writing contracts. | Smithy build configurations can load extensions and code generators through Maven dependencies and plugins, including AWS-specific dependencies and an OpenAPI generator. |
| Intended users | PactFlow describes its service as supporting teams building microservices, messaging systems or cloud-native systems. | Smithy is presented for teams defining service APIs and generating SDKs, server code, and documentation across programming languages. |
| Purpose | Pact is a code-first tool for testing HTTP and message integrations with contract tests. | Smithy is an open-source interface definition language for modeling services and SDKs. |
| Security | PactFlow says it encrypts data at rest with AES-256, enforces TLS 1.2 or higher, and stores data and backups in AWS Sydney. | The Smithy CLI installation guide says release archives are PGP-signed and hashed, and describes verifying signatures and checksums. |
| Support | Pact's official site directs users to documentation, a Slack channel and partner support; PactFlow plans list email support for Team and dedicated account and customer care for Enterprise. | The CLI guide directs users with suggestions or issues to create an issue in the Smithy GitHub repository. |
Plans
Pact
- PactFlow StarterFree
- Pact open-source toolingFree
- PactFlow Team (yearly)$115.42 a month
- PactFlow Team (monthly)$127 a month
- PactFlow EnterprisePriced on request
In their own words
Pact
Pact is a free, code-first tool for testing HTTP and message integrations with contract tests. Automated consumer tests create contracts describing concrete interactions between consumer and provider applications. Teams can then test each side in isolation against that shared contract, without deploying the entire system. Pact implementations are available for more than 10 languages, including JavaScript, Java, .NET, Go, Python, Ruby, Swift and Objective-C, Scala, Rust, PHP, and C++. Its CLI includes mock and stub servers, a provider verifier, a broker client, and a plugin CLI. The open-source Pact Broker shares contracts and verification results; teams can host and administer it themselves, and use its CI/CD workflows to check whether application versions can be deployed together. The verifier supports HTTP and asynchronous and synchronous messages, while plugins include gRPC, Avro, and CSV support. Documentation includes recipes for tools and scenarios such as GraphQL, Cypress, Kafka, and AWS Lambda. Pact is most useful when teams control both consumer and provider development. The free Broker is self-hosted, leaving its security, maintenance, and upgrades to its operator.