Skip to main content
If you’re an unregulated platform moving funds using Grid’s money transmitter licenses, Grid (operating as Lightspark Payments, LLC) is the licensed money transmitter on your transactions. Your end users contract directly with Lightspark for these services, so you must present Lightspark’s End User Terms to each end user and capture their consent before they transact.
Exposing the End User Terms and collecting consent is a launch precondition. Provide Lightspark with evidence of your consent flow and receive approval before making Grid available to your end users.

Include the End User Terms in your terms

Copy Lightspark’s End User Terms and append them to your own terms of service, so each end user accepts a single combined document. Including the URL to our End User Terms is not sufficient — you must embed the full text, available at: Present the combined terms in your onboarding or consent flow, and require each end user to affirmatively accept them (for example, an unchecked checkbox or an “I Agree” button) before they can use Grid.

Record each acceptance

Send the evidence of acceptance as agreementConsents when you create the customer — a list with one entry per agreement, each tagged with its type. Collect it for both INDIVIDUAL and BUSINESS customers. Call GET /customers/end-user-terms to list every agreement Grid supports with its current version and hosted url, and send that version as termsVersion when you record an acceptance.
If you already send endUserTermsConsent, it keeps working — it is deprecated but still accepted, and is equivalent to one agreementConsents entry of type LIGHTSPARK_END_USER_TERMS. Consent you have already recorded is migrated for you, so there is nothing to re-collect for that agreement. Don’t send both fields in one request.
Until a customer’s acceptance is on file, Grid does not provision their internal accounts, and customer-scoped transactions are rejected with 403 END_USER_TERMS_NOT_ACCEPTED.
The same field is accepted on PATCH /customers/{customerId}, so you can record consent for a customer that already exists — including customers you created before you started collecting it. Send only the agreements you are recording now; acceptances already on file for other types are left untouched. customerType is required on the update:
Customer responses include an agreementConsents list holding the most recent acceptance recorded for each type, and an empty list until the first acceptance — read it back with GET /customers/{customerId} to confirm which customers still need consent. Regulated platforms rely on their own end user agreements and don’t send this field. Send Lightspark evidence that your end users are shown the End User Terms and consent to them. Provide both:
  • A screenshot of the consent screen showing how the End User Terms are presented and accepted.
  • How you track consent — the record you keep each time an end user accepts, such as the end user identifier, the timestamp of acceptance, and the version of the terms accepted.