Skip to main content
Prime Cash (Powered by Green Dot) provides a convenient cash funding option for customers who prefer or need to use physical currency. This guide covers how to integrate Green Dot cash deposits, generate barcodes, find retail locations, and manage deposit limits through the Treasury Prime API.
Green Dot availability varies by bank partner and requires bank approval. Contact your Treasury Prime Account Manager to discuss availability and any associated costs.

What is Green Dot cash deposit?

Green Dot cash deposit allows your customers to add funds to their accounts by visiting participating retail locations and providing cash to the cashier. The customer presents a barcode (generated through the Treasury Prime API) at the point of sale, hands over cash, and Treasury Prime loads the funds to their account after authorization. Treasury Prime has partnered with Green Dot® to deliver Prime Cash (Powered by Green Dot), providing access to over 90,000 participating retail locations nationwide including major chains like Walmart, CVS, Walgreens, 7-Eleven, and Dollar General. This makes cash deposits accessible and convenient for customers across the country. The integration handles the entire deposit lifecycle from barcode generation through fund settlement. You generate a barcode for the customer through the API, they present it at a retail location with cash, and Treasury Prime processes the authorization and posts the funds to the account. The system tracks each deposit through multiple status transitions and provides real-time updates via webhooks. Green Dot cash deposits are particularly valuable for customers who are unbanked, underbanked, or prefer cash transactions. The feature expands financial access and provides flexible funding options for both individual and business accounts. ©2026 Green Dot Corporation. Green Dot is a registered trademark of Green Dot Corporation.

Key benefits

  1. Extensive retail network: Access to over 90,000 participating retail locations nationwide, making cash deposits convenient for customers regardless of location.
  2. Real-time status tracking: Monitor deposits from barcode generation through completion with status updates at each stage, including pending, authorized, available, and complete.
  3. Flexible deposit amounts: Support various cash amounts based on your configured limits, with Green Dot handling the transaction processing and fee collection at the point of sale.
  4. Location finder integration: Help customers find nearby participating retailers using the location search API with zip code or GPS coordinates.
  5. Configurable limits and controls: Set transaction minimums, daily limits, monthly limits, and total program limits at both organization and account levels for risk management.

How Green Dot cash deposits work

The Green Dot cash deposit process involves generating a barcode for the customer, the customer presenting it at a retail location with cash, and Treasury Prime processing the authorization and settlement. When you call the POST /greendot endpoint, Treasury Prime communicates with Green Dot to generate a unique barcode number. Green Dot determines the barcode expiration time (typically around 1 hour) and returns it in the response. The barcode can only be used once. The customer displays this barcode (as an image or numeric code) to the cashier at a participating retail location.
Generating a new barcode for an account automatically invalidates any previous unused barcode for that account. Only one barcode can be valid at a time per account.
At the retail location, the cashier scans the barcode and the customer provides cash. The retailer collects a fee (typically 33-5 depending on location) and processes the transaction through Green Dot’s network. Green Dot sends an authorization request to Treasury Prime, which validates the deposit against configured limits and account status. Once authorized, the deposit moves through several status transitions. It starts as authorized when Green Dot confirms the transaction, becomes available when funds are ready to use, and finally reaches complete when fully settled. Treasury Prime sends webhook events at each status change, allowing you to notify customers about their deposit progress.

Generating a barcode

When you generate a barcode for a customer:
  1. Treasury Prime validates the request: The system checks that the account exists, is open, and that all required parameters (account ID, retailer key, device information, geolocation, email) are provided.
  2. Green Dot creates the barcode: Treasury Prime calls Green Dot’s API to generate a unique barcode number. Green Dot determines the expiration time (typically around 1 hour). The barcode can only be used once.
  3. Treasury Prime returns the barcode: The API response includes the barcode number, expiration timestamp, and deposit ID. You display this barcode to the customer as an image or numeric code.
  4. Webhook event fires: Treasury Prime sends a greendot.create webhook event with the deposit details and barcode information.
Example request to generate a barcode
curl -X POST \
  -u $API_KEY_ID:$API_SECRET_KEY \
  https://api.treasuryprime.com/greendot \
  -H 'Content-Type: application/json' \
  -d '{
    "account_id": "acct_1234567890",
    "retailer_key": "2812",
    "channel_type": "mobile",
    "device_type": "mobile",
    "latitude": "39.724121",
    "longitude": "-94.793228",
    "ip_address": "192.168.1.100",
    "email_address": "customer@example.com"
  }'
Example response
{
  "id": "gdep_1029384756",
  "account_id": "acct_1234567890",
  "bank_id": "bank_vado",
  "retailer_key": "2812",
  "channel_type": "mobile",
  "device_type": "mobile",
  "ip_address": "192.168.1.100",
  "latitude": "39.724121",
  "longitude": "-94.793228",
  "email_address": "customer@example.com",
  "barcode_number": "830324014617630280006355261955",
  "amount": null,
  "status": "pending",
  "expires_at": "2024-01-15T15:30:00Z",
  "authorized_at": null,
  "available_at": null,
  "completed_at": null,
  "voided_at": null,
  "expired_at": null,
  "created_at": "2024-01-15T14:30:00Z",
  "updated_at": "2024-01-15T14:30:00Z"
}

Customer deposits cash

When the customer visits a retail location:
  1. Customer presents barcode: The customer shows the barcode (on their phone or printed) to the cashier at a participating Green Dot retail location.
  2. Cashier scans barcode: The cashier scans the barcode at the point of sale terminal and the customer provides the cash amount they want to deposit.
  3. Retailer collects a fee: The retailer collects a fee from the customer (typically 33-5, varies by location) in addition to the deposit amount.
  4. Green Dot processes the transaction: Green Dot processes the transaction and sends an authorization request to Treasury Prime with the deposit amount.

Authorization and settlement

When Treasury Prime receives the authorization request:
  1. Treasury Prime validates limits: The system checks the deposit amount against configured transaction minimums, daily limits, monthly limits, and total program limits.
  2. Treasury Prime authorizes the deposit: If all validations pass, the deposit status changes to authorized and a greendot.update webhook event fires.
  3. Funds become available: The deposit status changes to available when funds are ready for the customer to use. Another greendot.update webhook event fires.
  4. Settlement completes: The deposit status changes to complete when fully settled. A final greendot.update webhook event fires.

Finding retail locations

Treasury Prime provides a location finder API to help customers find nearby participating Green Dot retail locations. The GET /greendot/location endpoint returns a list of retailers based on either zip code or GPS coordinates. Each location result includes the retailer name, address, phone number, customer fee, and the retailer key needed for barcode generation. The fee varies by location, typically ranging from 3to3 to 5 per transaction. You can search by zip code for a broader area search, or use latitude and longitude coordinates for precise location-based results. The API requires the customer’s IP address for security and fraud prevention purposes.
Example request to find retail locations
curl -X GET \
  -u $API_KEY_ID:$API_SECRET_KEY \
  'https://api.treasuryprime.com/greendot/location?zip_code=55025&ip_address=192.168.1.100'
Example response
{
  "data": [
    {
      "retailer_name": "Walmart Supercenter",
      "retailer_key": "2812",
      "address": "200 12th St SW",
      "city": "Forest Lake",
      "state": "MN",
      "zip_code": "55025",
      "phone": "6514649740",
      "customer_fee": "3.74",
      "latitude": "45.27678600",
      "longitude": "-93.00201300",
      "store_id": "Walmart Supercenter2274"
    }
  ]
}

Deposit limits and timing

Green Dot cash deposits support configurable limits at both the organization level and individual account level. Treasury Prime enforces these limits during the authorization phase to manage risk and prevent fraud.

Limit types

Transaction minimum: The smallest amount allowed for a single deposit. Deposits below this amount are rejected during authorization. Transaction limit: The maximum amount allowed for a single deposit. This limit is enforced during authorization when the customer completes the transaction at the retail location. Daily limit: The maximum total amount that can be deposited to an account since midnight Pacific Time at the start of the current business day. On weekends and holidays, the window rolls back to midnight of the previous business day. Includes authorized, available, and completed deposits. Monthly limit: The maximum total amount that can be deposited to an account within a calendar month (calculated in Pacific Time). Total program limit: The maximum total amount that can be outstanding across all accounts in your program. This represents the float amount and includes only authorized and available deposits (not completed). This limit can only be set at the organization level and cannot be configured per account. Account-level limits override organization-level limits when configured for transaction minimum, transaction limit, daily limit, and monthly limit. This allows you to set tighter controls for specific accounts while maintaining default limits for the broader program.

Timing and availability

Barcode expiration: Green Dot determines the barcode expiration time when generating the barcode, typically around 1 hour after creation. Customers must complete the transaction at the retail location before expiration. Authorization timing: Authorization typically occurs within seconds of the customer completing the transaction at the retail location. Funds availability: Funds generally become available within minutes of authorization, though timing may vary based on Green Dot processing. Settlement timing: Final settlement typically completes within 1-2 business days, though the funds are available to the customer much sooner. Time zone: All limit calculations use Pacific Time (America/Los_Angeles) to align with Green Dot’s systems.

Deposit statuses

Green Dot deposits progress through several statuses during their lifecycle:
StatusDescription
pendingBarcode has been generated but customer has not yet completed the transaction at the retail location
authorizedCustomer completed the transaction and Green Dot has authorized the deposit
availableFunds are available in the customer’s account for use
completeDeposit has fully settled
voidedDeposit was cancelled or rejected during authorization
expiredBarcode expired before the customer completed the transaction

Additional key points about Green Dot cash deposits

  • One barcode per account: Only one barcode can be valid at a time per account. Generating a new barcode automatically invalidates any previous unused barcode for that account.
  • Barcode validity: Green Dot sets the barcode expiration time (typically around 1 hour from generation) and each barcode can only be used once. Expired barcodes cannot be reused.
  • Retailer fees: The retail location collects a fee from the customer at the point of sale, typically 33-5 depending on the location. This fee is separate from the deposit amount.
  • Required parameters: Barcode generation requires account ID, retailer key, channel type, device type, latitude, longitude, IP address, and verified email address.
  • Geolocation tracking: Customer device location (latitude/longitude) is required for fraud prevention and security purposes. This helps Green Dot verify the transaction is legitimate.
  • Email verification: The email address provided must be verified and belong to the account holder. Green Dot uses this for transaction receipts and notifications.
  • Webhook events: Green Dot deposits trigger greendot.create when the barcode is generated and greendot.update when the status changes (authorized, available, complete, voided, expired).
  • Error handling: The API returns specific error codes for various failure scenarios including velocity limits exceeded, load limits exceeded, invalid parameters, and Green Dot system errors.
  • Metadata: Green Dot provides additional metadata when deposits are authorized, including transaction details and retailer information.
  • No amount specification: The deposit amount cannot be specified when generating the barcode. The customer determines the amount when they visit the retail location.
  • No chargebacks: There is no traditional dispute or chargeback process for cash deposits. Once funds are committed to the account, the transaction is final.
  • Void transaction mechanics: When a deposit is voided after authorization, it creates four transactions that net to zero: a credit to the transit account, a debit from the customer account, a hold release, and the original reversal. All transactions share the same greendot_deposit_id as their trace ID.
  • Account requirements: The account must be open and in good standing. Closed or locked accounts cannot receive Green Dot deposits.

Important considerations

  1. Bank partner approval required: Green Dot availability varies by bank partner. You must work with your partnered bank and Treasury Prime Relationship Manager to enable this feature.
  2. Configuration setup needed: Your organization must have Green Dot deposit configuration established, including program number, secret credentials, and limit settings before generating barcodes.
  3. Limit enforcement is strict: Treasury Prime enforces all configured limits during authorization. Deposits exceeding any limit are automatically voided with an error message.
  4. Barcodes expire: Green Dot sets barcode expiration times (typically around 1 hour). Customers must complete transactions before expiration. Consider this timing in your user experience design.
  5. Fees are customer-paid: The retail location collects fees directly from customers at the point of sale. These fees are not controlled by Treasury Prime or your program.
  6. Geolocation is mandatory: You must collect and provide accurate device location coordinates. This is a Green Dot requirement for fraud prevention.
  7. IP address tracking: The customer’s IP address must be provided for both barcode generation and location searches for security purposes.
  8. Velocity limits exist: Green Dot enforces velocity limits on barcode generation to prevent abuse. Excessive barcode creation attempts may be rejected.
  9. System errors can occur: Green Dot’s systems may occasionally experience issues. The API returns a 503 error when Green Dot is unavailable, and you should implement retry logic.
  10. Status transitions are automatic: You cannot manually change deposit statuses. All status changes are driven by Green Dot’s processing and Treasury Prime’s authorization logic.
  11. Total program limit is organization-wide: Unlike other limits, the total program limit cannot be set per account. It applies across all accounts in your organization and represents the maximum float amount.

For detailed API endpoint documentation, parameter specifications, and response schemas, see the Green Dot API Reference.