LogoLogo
SlackLogin
  • Overview
    • Welcome
  • Setup & Configuration
    • Connecting to Trunk
    • Managing Your Organization
      • GitHub App Permissions
  • Integration with Slack
  • Flaky Tests (Beta)
    • Overview
    • Get Started
      • Test Frameworks
        • Android
        • Bazel
        • Behave
        • cargo-nextest
        • Cypress
        • Dart Test
        • Go
        • GoogleTest
        • Gradle
        • Jasmine
        • Jest
        • Karma
        • Maven
        • minitest
        • Mocha
        • Nightwatch
        • NUnit
        • Pest
        • PHPUnit
        • Playwright
        • Pytest
        • Robot Framework
        • RSpec
        • Swift Testing
        • Vitest
        • XCTest
        • Other Test Frameworks
      • CI Providers
        • Azure DevOps Pipelines
        • BitBucket Pipelines
        • Buildkite
        • CircleCI
        • Drone CI
        • GitHub Actions
        • GitLab
        • Jenkins
        • Semaphore CI
        • TeamCity
        • Travis CI
        • Other CI Providers
    • Dashboard
    • Flaky Test Detection
    • Quarantining
    • PR Comments
    • Ticketing Integrations
      • Jira Integration
      • Linear Integration
      • Other Ticketing Platforms
    • Webhooks
      • Slack Integration
      • Microsoft Teams Integration
      • GitHub Issues Integration
      • Linear Integration
    • Uploader CLI Reference
  • Merge Queue
    • Overview
    • How does it work?
    • Setup
      • Quick Start
      • Settings
      • Integration for Slack
    • Concepts and Optimizations
      • Predictive Testing
      • Optimistic Merging
      • Pending Failure Depth
      • Anti-Flake Protection
      • Batching
      • Parallel Queues
        • Bazel
        • Nx
        • API
      • FAQ
    • Priority
    • Managing Merge Queue
      • Using the Merge UI
      • Metrics
      • Command Line
    • Webhooks
    • Reference
  • Code Quality
    • Overview
    • Why Metalinters?
      • How does it work?
      • Why Code Quality?
    • Setup & Installation
      • Initialize Trunk
      • Local Linting
      • Linting in CI
      • Nightly Report (Deprecated)
    • IDE Integration
      • VSCode
      • Neovim
      • GitHub Codespaces
    • Linters
      • Supported Linters
        • Actionlint
        • Ansible-lint
        • Autopep8
        • Bandit
        • Biome
        • Black
        • Brakeman
        • buf
        • Buildifier
        • cfnlint
        • Checkov
        • circleci
        • ClangFormat
        • clang-tidy
        • Clippy
        • cmake-format
        • codespell
        • cspell
        • cue-fmt
        • dart
        • deno
        • Detekt
        • djlint
        • dotenv-linter
        • dotnet-format
        • dustilock
        • ESLint
        • Flake8
        • git-diff-check
        • Gitleaks
        • Gofmt
        • gofumpt
        • goimports
        • gokart
        • golangci-lint
        • golines
        • google-java-format
        • graphql-schema-linter
        • hadolint
        • haml-lint
        • isort
        • iwyu
        • ktlint
        • kube-linter
        • markdown-link-check
        • markdown-table-prettify
        • Markdownlint
        • markdownlint-cli2
        • mypy
        • nancy
        • nixpkgs-fmt
        • opa
        • OSV-Scanner
        • Oxipng
        • perlcritic
        • perltidy
        • php-cs-fixer
        • phpstan
        • pmd
        • pragma-once
        • pre-commit-hooks
        • Prettier
        • prisma
        • psscriptanalyzer
        • Pylint
        • pyright
        • regal
        • remark-lint
        • renovate
        • rome
        • rubocop
        • Ruff
        • rufo
        • rustfmt
        • scalafmt
        • semgrep
        • ShellCheck
        • shfmt
        • sort-package-json
        • sourcery
        • sql-formatter
        • SQLFluff
        • sqlfmt
        • squawk
        • standardrb
        • stringslint
        • stylelint
        • stylua
        • SVGO
        • swiftformat
        • swiftlint
        • taplo
        • Terraform
        • terragrunt
        • terrascan
        • TFLint
        • tfsec
        • tofu
        • Trivy
        • Trufflehog
        • txtpbfmt
        • vale
        • Yamllint
        • yapf
      • Run Linters
      • Manage Linters
      • Configure Linters
      • Ignoring Issues and Files
      • Custom Linters
      • Shared Configs
      • Upgrades
    • Debugging
    • Licensing
  • CLI & API References
    • CLI Reference
      • Install
      • Getting Started
        • Code Quality
        • Merge Queue
        • Flaky Tests
        • Tools
        • Actions
          • Git Hooks
        • Announce
      • Compatibility
      • Caching
      • Commands Reference
        • Code Quality
        • Actions
        • Merge
      • Configuration
        • Plugins
          • Share Config Between Codebases
          • Exporting Linter Configs
        • Runtimes
        • Tools
        • Lint
          • Definitions
          • Commands
          • Output
          • Output Parsing
          • Files and Caching
          • Dependencies
          • Auto-Enable
        • Actions
          • Notifications
          • Logging and Troubleshooting
        • Merge
        • Telemetry
        • Per User Overrides
    • API Reference
      • Flaky Tests
      • Merge Queue
      • Webhooks Reference
  • Pricing & Security
    • Security
  • Billing
  • Community & Support
  • Links
    • Open App
    • Slack Community
    • Changelog
    • Feature Requests
On this page
  • Plans
  • Calculating User Counts
  • Calculating an Invoice
  • Editing Payment Details
  • Cancelling a Plan
  • A Note on Security
Edit on GitHub

Billing

Trunk Subscription Plans

Last updated 1 month ago

Plans

Free Plans

Trunk offers a free plan to experiment with each of our features. Each feature has a free-tier limit; after exceeding this limit, we prompt you to upgrade to a paid subscription.

Similar to , our free tier limits are calculated based on a 30-day rolling window.

Feature
Metric
Free Tier Limit

All

Users

5 commiters per month, unlimited on public repos

Code Quality

Quality & security metrics

Up to 100k issues uploaded

Merge Queue

PRs merged per month

100 PRs merged per month

CI Analytics

Real-time ingestion of data

14 days per repo

Flaky Tests

Number of

5 committers and 5M test spans per month

Data backfilling

Up to 30 days

Team Plans

Trunk Team Plans offers a monthly subscription plan using a per-seat model. At the end of every billing period, we calculate the number of users using Trunk and update the next month’s invoice to reflect the latest user count. Each seat has access to all of Trunk's features.

Feature
Metric
Limits

Code Quality

Quality & security metrics

Unlimited

Merge Queue

PRs merged per month

Unlimited

CI Analytics

Real-time ingestion of data

Unlimited

Flaky Tests

Number of

1 million test spans per seat per month.

$3 for each additional 1 million test spans.

Enterprise Plans

Trials

Calculating User Counts

A user is a non-bot user who has made a commit to a private repo with Trunk enabled in the last 30 days. Specifically, we look at their username; if someone changes their username on Git, we would consider that a separate user. We do not count contributions to public (open source) repos. Contributor counts are displayed on Settings > Billing.

For example, consider Alice, Bob, and Charlie are all in the same organization, which owns two private repos: abc/repo1 and abc/repo2. Given the following timeline of events:

Day 1
Day 15
Day 22

Alice commits code to abc/repo1.

Bob commits code to abc/repo2.

Charlie commits code to abc/repo1.

On Day 1, the user count would be one: just Alice. On Day 15, the user count would be two: Alice and Bob, since the same organization owns both private repos. On Day 22, the user count would be three: Alice, Bob, and Charlie. On Day 30, the user count would be three. We consider days 1 through 30 (inclusive), which include Alice's, Bob's, and Charlie's commits. On Day 31, the user count would be two. We consider days 2 through 31 (inclusive), which only includes Bob's and Charlie's commits.

Calculating an Invoice

Editing Payment Details

Cancelling a Plan

A Note on Security

Your security is important to us. We do not store your credit card information anywhere in our systems. Online payments are processed using Stripe, which is PCI-compliant in accordance with industry standards.

Trunk Enterprise offers powerful admin controls, dedicated support, access to custom billing or terms, and features like SSO. If your team is interested in an enterprise plan, please contact .

You and your team can trial Trunk before signing up for an Enterprise or Team plan. To try Trunk, please contact . To extend or cancel the trial, please contact .

Trunk requires the to be installed in your repo to count seats.

At the end of every billing cycle, Trunk calculates what the next invoice should be. Trunk determines feature usage and the number of seats used over the . See our section on to determine how much we charge per feature usage.

You can edit your payment details by navigating to Settings > Billing and clicking on the pencil icon on the credit card. Trunk accepts both credit card and ACH; if you require a different payment method, please contact us at .

You can cancel an active Trunk subscription by navigating to Settings > Billing and clicking the Cancel Subscription button. Your plan will transition back into the ; if you want to re-enable this plan, please contact us at .

Cancelling a Trunk Plan may result in a degraded product experience. Please contact us at to re-enable any canceled plan.

sales@trunk.io
sales@trunk.io
sales@trunk.io
Trunk GitHub App
sales@trunk.io
sales@trunk.io
calculating user counts
free tier usage limits
calculating user counts
sales@trunk.io
free tier