Pact vs Pact Broker
Pact
pact.ioPact Broker
github.comSide by side
| Figure | Pact | Pact Broker |
|---|---|---|
| Price from | $115.42/mo | $115.42/mo |
| Free plan | Yes | Yes |
| Free trial | Yes | Yes |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 5 | 5 |
| Spec score · Contract Testing Tools | 8.7 (#2) | 8.1 (#9) |
| Integrations | PactFlow's Bi-Directional Contract Testing integrates with OpenAPI and lists Cypress, Postman and Wiremock as tools for writing contracts. | The project documents Docker deployment, Terraform on AWS, PostgreSQL, and SQLite for quick-start and CI use; SQLite is not supported for long-term broker operation. |
| Purpose | Pact is a code-first tool for testing HTTP and message integrations with contract tests. | Pact Broker shares consumer-driven contracts and verification results, and is optimized for Pact contracts while also accepting contracts serializable to JSON. |
| 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 project directs users to its wiki, GitHub issues, Stack Overflow with the pact-broker tag, and Pact Slack. |
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
Pact Broker
- Pact Broker (self-hosted)Free
- Starter (PactFlow)Free
- Team (yearly, PactFlow)$115.42 a month
- Team (monthly, PactFlow)$127 a month
- Enterprise (PactFlow)Priced 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.
Pact Broker
Pact Broker shares consumer-driven contracts and verification results so teams can check compatibility between consumer and provider versions before deployment. It is designed for Pact contracts and also accepts contracts that can be represented as JSON. In a CI workflow, consumer builds publish contracts, provider builds retrieve and verify them, and consumers can use the can-i-deploy command to check whether deployment is safe. The broker includes a REST API, embedded API browser, generated documentation, service network diagrams, verification results and status badges. Webhooks can respond to contract changes by triggering actions such as a provider build or Slack notification. Deployment options documented include Docker and Terraform on AWS; PostgreSQL and SQLite are listed, though SQLite is not supported for long-term operation. Docker images support linux/amd64 and linux/arm64. The open-source self-hosted broker is free, with users responsible for hosting, operation, security, maintenance and upgrades. PactFlow plans are also listed: Starter is free, while Team costs $115.42 a month billed yearly or $127 a month billed monthly.