Sandbox Profiles
Test the returning user experience and Layer against saved Sandbox profiles with realistic connected accounts
Overview
A Sandbox Profile represents an end user who has connected accounts to Plaid before. It holds a phone number, a set of identity data, and one or more Items across different institutions.
In Production, a profile of this shape is what Plaid stores when a user chooses to be remembered by Plaid, and those profiles collectively make up the Plaid Network -- more than 100 million consumers -- that the returning user experience (formerly known as Remember Me) and Layer draw on. A Sandbox Profile is the same structure, populated with test data and scoped to your Plaid team.
Profiles are what make the returning user experience and Layer testable in Sandbox. Both products work by looking up a saved profile from a phone number, so neither can be meaningfully exercised against a test user that has no connection history.
A profile is not the same thing as a test user. The two are complementary: a profile decides who the user is, and a test user decides what a bank reports for the Item they connect.
| Test user | Sandbox Profile | |
|---|---|---|
| Represents | A bank login at one institution | A person, with accounts at several institutions |
| Identified by | Username and password | Phone number |
| Accumulates connections | No -- one login, one Item | Yes -- connect more institutions in Link |
Test users come in two kinds, and Sandbox Profiles work with either. Plaid's canonical test credentials, such as user_good, are referenced by username and behave the same for every Plaid team. Custom users are ones you define yourself, and are scoped to your team. The Sandbox API endpoints accept either as well.
Profiles are managed in the Profiles tab of Sandbox Studio.

Sandbox Profiles are scoped to your team. Two teams using the same phone number get two independent profiles that cannot see each other. In Production, a returning user's profile is global to Plaid. See Differences between Sandbox and Production.
Using a profile
- In Sandbox Studio, open the Profiles tab and launch Link from the profile you want to use. You can also launch Link from your own integration and enter the profile's phone number when prompted.
- Enter the one-time passcode
123456. Every Sandbox profile uses this code. - Link shows the profile's saved accounts. Select existing accounts, or add a new institution.

Adding an institution attaches it to the profile, so it is present the next time that phone number is used. Items created this way behave like any other Sandbox Item and can be used with the API explorer or with your own API calls.
Starter profiles
Starter profiles are Plaid-defined profiles that begin with a set of connected accounts and realistic identity data. Sandbox Studio labels them Extendable: the starting shape is fixed, but you can connect more institutions to them, and reset them back to the starting shape at any time.
Each starter profile is claimed by using its phone number in Link for the first time. Until then it exists only as a catalog entry.
| Phone number | Profile | Identity | Starting institutions | Products |
|---|---|---|---|---|
415-555-0131 | College Student | Alberta Johnson | Tartan Bank | Auth, Transactions, Identity, Assets |
415-555-0132 | Small Business Owner | Betsy Ross | First Gingham Credit Union, Tartan Bank | Auth, Transactions, Identity, Assets |
415-555-0133 | Retiree | Paul Revere | First Platypus Bank, First Gingham Credit Union | Auth, Transactions, Identity, Investments, Assets |
415-555-0134 | Risk Review | Jordan Lee | Tartan Bank | Auth, Transactions, Identity, Assets |
415-555-0135 | Affluent Investor | Benjamin Franklin | First Platypus Bank, Tartan Bank | Auth, Transactions, Identity, Investments, Income, Assets |
415-555-0136 | Default Returning User | Alberta Bobbeth Charleson | Tartan Bank, First Gingham Credit Union | Auth, Transactions, Identity |
415-555-0137 | Trusted Multi-item | None | Tattersall FCU, Tartan Bank, First Gingham Credit Union | Auth, Transactions, Identity |
415-555-0138 | OAuth Multi-item | None | Tattersall FCU, Tartan Bank, First Gingham Credit Union, Platypus OAuth Bank | Auth, Transactions, Identity |
415-555-0137 and 415-555-0138 exist to exercise the saved-account picker across several institutions, including an OAuth institution. Their accounts use default Sandbox data and carry no profile identity, which means they are not eligible for Layer; use one of the other starter profiles for Layer testing.
415-555-0134 is shaped for risk and fraud review: low available cash, negative events, contact-data churn, and no trusted-device history.
Custom profiles
Any valid US phone number that is not reserved by a starter profile creates a custom profile the first time it is used in Link. A custom profile starts empty and holds whatever institutions you connect to it. Reusing the same phone number returns the same profile.
Custom profiles are the right choice when you want a returning user built entirely from your own custom test data: connect a custom user through Link, and the resulting Item is attached to the profile.
Resetting and deleting
Starter profiles can be reset, which removes the Items connected to them and restores the starting shape the next time the phone number is used in Link. The phone number stays reserved.
Custom profiles can be deleted, which removes the profile entirely. Using the phone number again creates a new, empty profile.
Testing Layer
Layer looks up a saved profile from the user's phone number, so a Sandbox Profile is what makes a Layer session return data. To test Layer:
- Create a Layer template in the Dashboard.
- Launch Layer with a starter or custom profile's phone number.
- Enter the OTP
123456.
Layer evaluates eligibility in Sandbox the same way it does in Production: the profile must have connected accounts, resolvable identity, and attributes satisfying your Layer template. A profile that does not qualify returns an ineligible result rather than an error, which is the same behavior your integration will see in Production for a user Plaid does not recognize. Both outcomes are worth testing.
415-555-0137 and 415-555-0138 are always ineligible, because their accounts carry no profile identity. Any phone number that has never been used in Link is also ineligible, since no profile exists for it.
For testing profiles with deliberately incomplete identity data, and for Extended Autofill, see Testing Layer.
Legacy Sandbox phone numbers
Before Sandbox Profiles, returning user testing used a set of phone numbers seeded globally across all Plaid teams, beginning 415-555-0011. These numbers still work and are unchanged, but they are shared, cannot be reset, and cannot be extended with new institutions.
415-555-0136, 415-555-0137, and 415-555-0138 reproduce the starting shape of 415-555-0011, 415-555-0012, and 415-555-0013 respectively, as profiles scoped to your team. New integrations should use the starter profiles above.
