Instacart: unauthorized charge
Check for authorization holds and Instacart+ renewals first; if the charge still does not fit, contact Instacart, then the bank.
What does this mean?
Grade A (high: almost everything comes from official pages read directly). 100% of 11 sources are the organization's own pages or government sites.
Collect
- statement with the charge
- order history
Steps
Compare the charge with your orders. Authorization holds can be higher than the order total and are released by the bank later; a recurring charge is an Instacart+ renewal.
If it still does not match, contact Instacart.
If Instacart does not reverse it, dispute it with your bank or card issuer.
More contacts for this issue
Facts you can cite
- Policy
Instacart's Terms say multiple pending authorizations are not duplicate charges, and you are charged once for the final order total.
Source: instacart.com, verified 2026-10-12
Rules in force
- Restore Online Shoppers' Confidence Act (ROSCA) negative option requirements15 U.S.C. 8401-8405
A seller that charges consumers online through a negative option feature (for example an automatic renewal or a free trial that converts to paid) must clearly disclose all material terms before taking billing information, get the consumer's express informed consent before charging, and provide simple mechanisms to stop recurring charges. The FTC enforces ROSCA.
Source: law.cornell.edu, verified 2026-10-12
4 citable points
- Policy
Before obtaining the consumer's billing information, the seller must provide text that "clearly and conspicuously discloses all material terms of the transaction".
Source: law.cornell.edu, verified 2026-10-12
- Policy
The seller must obtain "a consumer's express informed consent before charging the consumer's credit card, debit card, bank account, or other financial account".
Source: law.cornell.edu, verified 2026-10-12
- Policy
A post-transaction third-party seller may not charge a consumer for an online sale unless it discloses the material terms and gets express informed consent, including the consumer's full account number, before charging. An initial merchant may not pass a customer's account number or other billing information to such a seller.
Source: law.cornell.edu, verified 2026-10-12
- Process
A ROSCA violation is treated as a violation of an FTC rule on unfair or deceptive acts or practices, and the FTC enforces ROSCA with its FTC Act powers and penalties. Report violations to the FTC.
Source: law.cornell.edu, verified 2026-10-12
- Policy
If that fails, escalate
Go up one step at a time. Keep the reference numbers and dates from each contact.
Customer service
AppReport a problem with an order (app Get help, or website Report a problem) App: select the order > Get help. Website: select the order > Report a problem Sign-in requiredCustomer service
Card or bank dispute
Fair Credit Billing Act billing-error and purchase-dispute rights (Regulation Z)
Electronic Fund Transfer Act error resolution and unauthorized-transfer liability (Regulation E)
State agency
Your state’s attorney general. Find it in the list of state agencies (also as JSON:
states/<code>.json, for example states/ny.json).Arbitration
MailNotice of dispute (Legal Department) Instacart, ATTN: Legal Department, 50 Beale Street, Suite 600, San Francisco, CA 94105Signed written notice, then at least 60 days to resolve it before arbitration.
Watch out
- Order problem reports and Instacart+ cancellation need the customer signed in.
- Orders placed through a retailer's own app or website are handled by that retailer, not Instacart.
Let your AI agent handle this
Escalate Anything is a free, open-source MCP server for Claude, Cursor, VS Code, Gemini CLI, Codex and other AI apps. Your agent gets this playbook, keeps a case log with reference numbers and follow-up dates, and drafts each message for you to approve.
1. Set it up (needs uv):
uvx escalate-anything setup2. Ask your agent:
Instacart charged me [amount] on [date] and I did not authorize it. Use Escalate Anything to get it reversed.Source code, other install options and the Claude Code plugin