Environments
Teller provides three distinct environments for different stages of your integration: sandbox for UI testing, development for real-world testing, and production for live applications.
Overview
Each environment serves a specific purpose in your integration journey. Choosing the right environment ensures you can test effectively while managing costs and access appropriately.
| Environment | Data | Cost | Enrollment Limit | Use Case |
|---|---|---|---|---|
| Sandbox | Simulated | Free | Unlimited | UI testing, flow development |
| Development | Real bank data | Free | 100 enrollments | Integration testing with real accounts |
| Production | Real bank data | Paid | Unlimited | Live applications |
Sandbox
The sandbox environment uses simulated data and never connects to real financial institutions. It is ideal for:
- Building and testing your UI integration
- Simulating enrollment flows including MFA scenarios
- Testing error handling without affecting real accounts
Use username / password for successful enrollments, or otp / password to test MFA flows. See the Sandbox guide for all test credentials.
To use the sandbox environment, initialize Teller Connect with:
TellerConnect.setup({
applicationId: "app_xxxxxx",
environment: "sandbox",
// ...
});
Development
The development environment connects to real financial institutions and returns real bank data. This is critical for validating your integration before going live.
Development uses real bank data, not simulated data. When you or your testers connect accounts, you are accessing actual financial information.
Key characteristics
- 100 enrollment limit — An enrollment represents one bank login, which may include multiple accounts (e.g., checking, savings, and credit card under the same login)
- Free to use — No charges for the development environment
- Real institution connectivity — Test against actual bank authentication flows, MFA requirements, and data formats
- Rate limits apply — Same rate limits as production
When to use development
Use the development environment when you need to:
- Verify your application handles real transaction data correctly
- Test against specific institutions your users will connect
- Validate your webhook handlers with real enrollment events
- Confirm your UI works with actual account structures
To use the development environment:
TellerConnect.setup({
applicationId: "app_xxxxxx",
environment: "development",
// ...
});
API requests in development require your client certificate, just like production.
Production
The production environment is for live applications serving real end-users. Access to production requires completing Teller's Know Your Business (KYB) verification process.
Requirements
To access production, you must complete KYB verification, which includes:
- Company URL and product demonstration
- Beneficial owner information
- Business documentation
Contact Teller to begin the production access process.
Transitioning to production
When moving from development to production:
- Update your Teller Connect configuration to use
environment: "production" - Ensure your webhook endpoints are production-ready
- Verify your certificate is valid and securely stored
TellerConnect.setup({
applicationId: "app_xxxxxx",
environment: "production",
// ...
});
Choosing the right environment
Start with sandbox to build your UI and test enrollment flows without needing real credentials.
Move to development once your UI is working and you need to validate against real bank data. Use your own bank accounts or those of your team to test the full integration.
Request production access when you are ready to serve real end-users with a tested, working integration.
Common questions
Do enrollments in development count toward production?
No. Development and production are completely separate. Enrollments created in development do not transfer to production, and the 100-enrollment limit applies only to development.
Can I reset my development enrollment count?
Deleting an enrollment does not restore your enrollment count. The limit represents total enrollments created, not active enrollments.
What happens when I hit the development limit?
You will not be able to create new enrollments in development. Request production access when your integration is ready.