Plaid integration currently only works for Western users. Plaid Production support is not available to European users.
For Plaid integration your Sure instance needs to be accessible by the internet behind a domain with working SSL.
See additional context in maybe-finance/maybe#2419.
Create Your Plaid Account
Go to https://dashboard.plaid.com and register for a new account.
Requesting Access Based on Your Bank Type
Request Access
- On the Home page, find the section labeled “Learn how to build with Plaid” and click Unlock real data.
- Enter your real name and phone number.
- In the description box, write a statement such as:
This is for personal use only on a self-hosted version of the Sure Finance software.
I am only using it to manage my finances, sync my bank accounts, track my spending,
and create a budget.
- Leave the “Additional products” section unchecked.
- Click Request Access.
Wait for Approval
Wait for your request to be approved (this may take more than 24 hours).
Per Plaid Support as of July 2025, certain banks are seeing extended OAuth approval timelines:
- Chase Bank: Approximately 3-4 months
- Schwab: The manual review process can take up to 2 months
Start Production Access Request
In the left sidebar on the Plaid dashboard, click Get production access.
Business Profile
- Enter your real address.
- For the business profile, write:
This is for personal use only on a self-hosted version of the Sure Finance software.
I am only using it to manage my finances, sync my bank accounts, track my spending,
and create a budget.
- Leave the company website field blank.
- Enter your real name, phone number, email address, and date of birth.
- Click Next.
Company Information
- Indicate that you have 0 employees
- Specify your country of data access
- Confirm that you do not sell data
- Confirm that you have not experienced a security breach in the past 12 months
- Click Next.
Industry Selection
When asked “What industry are you in?”, select Budgeting and financial management tools.
Click Next.
Application Details
- Enter any name for your application.
- Upload any photo as the logo (must be 1024x1024px and under 4MB).
- Leave the brand color as #22CCEE.
- Set the Website URL to:
https://github.com/we-promise/sure
- In the “Reason for data access” box, enter:
This is for personal use only on a self-hosted version of the Sure Finance software.
I am only using it to manage my finances, sync my bank accounts, track my spending,
and create a budget.
- Enter your real email address as the support email.
- Click Next.
Products and Use Cases
- For the “Where do you want to launch?” section, enter your country.
- In the “Payments” section, check only Auth and Balance. Leave the rest unchecked.
- Leave all products in “Credit Underwriting” and “Fraud & Compliance” unchecked.
- Check all products under the “Financial Management” section.
- Click Next.
Use Cases
- For use cases:
- Select Consumer bill pay for the Payments section.
- Select Personal budgeting and financial advice for all products in the Financial Management section.
- Click Next.
Billing
- Select the Pay As You Go plan.
- Click Next.
- Enter your billing details and check the agreement boxes.
- Click Next.
Security Questionnaire
- Click Start Security Practices Questionnaire.
- For each question, select Other - please see comments, then write in the notes:
This is for personal use only on a self-hosted version of the Sure Finance software.
I am only using it to manage my finances, sync my bank accounts, track my spending,
and create a budget.
- Click Next.
- Repeat the process for each new section of the questionnaire.
- Continue clicking Next and repeating until the questionnaire is finished.
- Click Submit.
Wait for Approval
Wait for approval (this may take more than 24 hours, or several months for OAuth banks).
Setting Up Sure to Use Plaid
Configure Allowed Redirect URIs
-
After your Plaid account is registered, go to https://dashboard.plaid.com/developers/api or click Developers > API in the sidebar
-
Click Configure next to Allowed redirect URIs
-
Click Add new URI, type your domain, and add
/accounts at the end
Example: https://budget.yourdomain.com/accounts
-
Click Save changes
Add Environment Variables
In your docker-compose.yml file, below the OPENAI_ACCESS_TOKEN: ${OPENAI_ACCESS_TOKEN} line, add these lines:PLAID_CLIENT_ID: ${PLAID_CLIENT_ID}
PLAID_SECRET: ${PLAID_SECRET}
PLAID_ENV: ${PLAID_ENV}
In your .env file (next to your docker-compose file), add these lines:PLAID_CLIENT_ID=ENTER_CLIENT_ID_FROM_PLAID_HERE
PLAID_SECRET=ENTER_SECRET_KEY_FROM_PLAID_HERE
PLAID_ENV=production # use 'production' for Full/Limited Production Access, or 'sandbox' for Sandbox Access
Verify Integration
Once you access your Sure instance from your domain, you should now see the Link account option in the Sure UI.
Start with Plaid’s Sandbox environment (PLAID_ENV=sandbox) to test the integration before requesting production access.