For Plaid integration, your Sure instance needs to be accessible from the internet behind a domain with working SSL. See additional context in maybe-finance/maybe#2419.
Prerequisites
Before setting up Plaid:- Your Sure instance must be publicly accessible via HTTPS
- You need a valid domain with working SSL certificate
- You must be comfortable with technical configuration
- You should review Plaid’s terms of service for personal use
Creating a Plaid account
- Go to dashboard.plaid.com and register for a new account
- Complete the registration process
- Request production access based on your bank type (see below)
Requesting production access
The process differs depending on whether your bank requires OAuth authentication.For banks without OAuth
- On the Home page, find “Learn how to build with Plaid” and click Unlock real data
- Enter your real name and phone number
- In the description box, 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 “Additional products” unchecked
- Click Request Access
- Wait for approval (may take more than 24 hours)
For banks with OAuth
Per Plaid Support as of July 2025, certain banks have extended OAuth approval timelines:
- Chase Bank: 3-4 months
- Schwab: Up to 2 months
- In the left sidebar, click Get production access
- Enter your real address
- For 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 company website blank
- Enter your real name, phone number, email, and date of birth
- Click Next
- Indicate:
- 0 employees
- Your country of data access
- You do not sell data
- No security breach in past 12 months
- Click Next
- Select industry: Budgeting and financial management tools
- Click Next
- Enter any name for your application
- Upload a logo (1024x1024px, under 4MB)
- Leave brand color as #22CCEE
- Set Website URL to:
https://github.com/we-promise/sure - In “Reason for data access”, 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 as support email
- Click Next
- Enter your country for “Where do you want to launch?”
- For products:
- Payments: Check only Auth and Balance
- Credit Underwriting: Leave all unchecked
- Fraud & Compliance: Leave all unchecked
- Financial Management: Check all products
- Click Next
- For use cases:
- Payments: Select Consumer bill pay
- Financial Management: Select Personal budgeting and financial advice for all products
- Click Next
- Select Pay As You Go plan
- Click Next
- Enter billing details and check agreement boxes
- Click Next
- Click Start Security Practices Questionnaire
- For each question:
- Select Other - please see comments
- Write in 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.
- Continue through all sections, repeating step 28
- Click Submit
- Wait for approval (may take more than 24 hours)
Configuring Sure
After your Plaid account is approved:- Go to dashboard.plaid.com/developers/api or click Developers > API
- Click Configure next to Allowed redirect URIs
- Click Add new URI
- Enter your domain with
/accountsappended (e.g.,https://budget.yourdomain.com/accounts) - Click Save changes
- Go to dashboard.plaid.com/developers/keys or click Developers > Keys
- Copy your
client_idand Productionsecretkey
Docker Compose configuration
In yourdocker-compose.yml file, add these environment variables:
Environment variables
In your.env file, add:
Restart Sure
After updating your configuration, restart your Sure instance. You should now see the Link account option in the Sure UI.Features
- US bank coverage: Comprehensive support for US financial institutions
- Real-time data: Access to account balances and transactions
- OAuth support: Secure authentication for supported banks
- Multiple accounts: Connect accounts from different institutions
Pricing
Plaid uses a pay-as-you-go pricing model. Check plaid.com/pricing for current rates.Limitations
- US-focused: Primarily supports US institutions, not available for European users
- Complex setup: Requires significant technical configuration
- TOS concerns: Personal use may violate Plaid’s terms of service
- Public accessibility: Requires publicly accessible HTTPS endpoint
- Long approval times: OAuth-enabled banks can take months to approve
- Technical expertise: Not recommended for non-technical users
Alternatives
Consider these alternatives to Plaid:- SimpleFIN: Simpler setup, more affordable, US-focused
- Enable Banking: Free, EU-focused, easier setup
- Lunch Flow: Global coverage, paid service