diff --git a/mintlify/changelog.mdx b/mintlify/changelog.mdx index a75bd8247..ae18fa347 100644 --- a/mintlify/changelog.mdx +++ b/mintlify/changelog.mdx @@ -18,6 +18,24 @@ changes and roadmap, [book a live demo](https://www.lightspark.com/contact) or `CustomerExternalAccountCreateRequest`, in which `customerId` is required. Use `POST /platform/external-accounts` to create an external account owned by the platform itself. +## Same-day ACH is its own payment rail + +`ACH_SAME_DAY` joins `ACH` in `PaymentRail`. Pin it on a quote's destination to request +same-business-day settlement for a USD payout. + +- Grid never selects `ACH_SAME_DAY` for you. It is only used when you name it, so + existing integrations that omit `paymentRail` are unaffected. +- The two rails are priced separately. A `RailFeeConfig` with `rail: ACH_SAME_DAY` + prices same-day sends; your existing `ACH` config keeps pricing standard sends. +- `ACH_SAME_DAY` is capped at $1,000,000 per entry by the NACHA same-day limit, rising + to $10,000,000 on 2027-09-17. A payout above the limit is rejected rather than slowed; + send it over `ACH` instead. +- `ACH` will settle on the standard next-business-day schedule. Until a date we + announce in advance, `ACH` continues to settle same-business-day on production + platforms; it already settles next-business-day on sandbox platforms. To guarantee + same-day settlement after that date, request `ACH_SAME_DAY`. + +See [Assessing fees](/payouts-and-b2b/payment-flow/assessing-fees). ## Add cards to Apple Pay, Google Pay, and Samsung Pay from your app diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 63d1a94b1..0c180aaa4 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -13107,6 +13107,7 @@ components: enum: - ACH - ACH_COLOMBIA + - ACH_SAME_DAY - BANK_TRANSFER - BRE_B - CIPS @@ -13128,7 +13129,12 @@ components: - UNIONPAY - UPI - WIRE - description: The payment rail used for the transfer. Payment rails represent the underlying payment network or system used to move funds between accounts. + description: |- + The payment rail used for the transfer. Payment rails represent the underlying payment network or system used to move funds between accounts. + + `ACH_SAME_DAY` requests same-business-day settlement for a USD payout and is priced separately. It is subject to the NACHA per-entry same-day limit, which the network applies to every originator: $1,000,000 per entry, rising to $10,000,000 on 2027-09-17. A payout above that limit is rejected rather than slowed β€” check the amount before requesting this rail, or send it over `ACH`, which settles on the standard schedule and has no such limit. + + `ACH` will settle on the standard next-business-day schedule. Until a date we announce in advance, `ACH` continues to settle same-business-day on production platforms; it already settles next-business-day on sandbox platforms. To guarantee same-day settlement after that date, request `ACH_SAME_DAY`. example: ACH RailFeeConfig: allOf: @@ -13140,7 +13146,7 @@ components: - RAIL rail: $ref: '#/components/schemas/PaymentRail' - description: The rail used in the transaction. `ACH`, `RTP`, `FEDNOW` and `WIRE` are accepted today; other rails return a `NOT_IMPLEMENTED` error. + description: The rail used in the transaction. `ACH`, `ACH_SAME_DAY`, `RTP`, `FEDNOW` and `WIRE` are accepted today; other rails return a `NOT_IMPLEMENTED` error. direction: type: string enum: @@ -13159,7 +13165,7 @@ components: - rail - direction - originator - description: 'A fee charged when a transaction uses the specified rail. There can be at most one for a given rail, direction and originator. For example, a config with rail: ACH, direction: OUT, originator: GRID will charge a fee on all outgoing ACH transactions.' + description: 'A fee charged when a transaction uses the specified rail. There can be at most one for a given rail, direction and originator. For example, a config with rail: ACH, direction: OUT, originator: GRID will charge a fee on all outgoing ACH transactions. `ACH` and `ACH_SAME_DAY` are separate rails, so price each one with its own config.' FeeConfigOneOf: oneOf: - $ref: '#/components/schemas/CrossCurrencyTransactionFeeConfig' @@ -16075,6 +16081,7 @@ components: type: string enum: - ACH + - ACH_SAME_DAY - WIRE - RTP - FEDNOW diff --git a/mintlify/payouts-and-b2b/payment-flow/assessing-fees.mdx b/mintlify/payouts-and-b2b/payment-flow/assessing-fees.mdx index 776e1c73b..ebbda3407 100644 --- a/mintlify/payouts-and-b2b/payment-flow/assessing-fees.mdx +++ b/mintlify/payouts-and-b2b/payment-flow/assessing-fees.mdx @@ -49,7 +49,8 @@ Both fee types may apply to the same transaction, e.g. a cross-currency payment only, and the fixed fee must be in that same currency β€” other currencies return `NOT_IMPLEMENTED`. -Rail fees cover `ACH`, `RTP`, `FEDNOW` and `WIRE`, going `OUT`, with the fixed fee in USD. +Rail fees cover `ACH`, `ACH_SAME_DAY`, `RTP`, `FEDNOW` and `WIRE`, going `OUT`, with the fixed fee in USD. +`ACH` and `ACH_SAME_DAY` are separate rails, so price each one with its own config. Anything else returns `NOT_IMPLEMENTED`. Both are expanding β€” support for stablecoin sending currencies such as USDC is planned. diff --git a/mintlify/payouts-and-b2b/payment-flow/send-payment.mdx b/mintlify/payouts-and-b2b/payment-flow/send-payment.mdx index 8eedbd34e..22c514d29 100644 --- a/mintlify/payouts-and-b2b/payment-flow/send-payment.mdx +++ b/mintlify/payouts-and-b2b/payment-flow/send-payment.mdx @@ -139,7 +139,7 @@ curl -X POST 'https://api.lightspark.com/grid/2025-10-13/quotes' \ - The `paymentRail` field is optional. If omitted, Grid selects a default rail for the destination. Specify a rail (e.g., `ACH`, `WIRE`, `RTP`, `FEDNOW`) when you need to control which payment network processes the transfer. + The `paymentRail` field is optional. If omitted, Grid selects a default rail for the destination. Specify a rail (e.g., `ACH`, `ACH_SAME_DAY`, `WIRE`, `RTP`, `FEDNOW`) when you need to control which payment network processes the transfer. `ACH_SAME_DAY` is never selected for you: it requests same-business-day settlement and is priced separately. It is capped at $1,000,000 per entry by the NACHA same-day limit (rising to $10,000,000 on 2027-09-17); a payout above that is rejected, so send it over `ACH` instead. diff --git a/mintlify/snippets/country-support.mdx b/mintlify/snippets/country-support.mdx index c63a9a71a..500a5e7e8 100644 --- a/mintlify/snippets/country-support.mdx +++ b/mintlify/snippets/country-support.mdx @@ -77,7 +77,7 @@ import { FeatureCard, FeatureCardGrid, FeatureCardList, FeatureCardContainer } f | πŸ‡ΊπŸ‡¬ Uganda | UG | `Mobile Money` (Airtel, MTN) `SWIFT` | | πŸ‡¦πŸ‡ͺ United Arab Emirates | AE | `Bank Transfer` `SWIFT` | | πŸ‡¬πŸ‡§ United Kingdom | GB | `Faster Payments` `SWIFT` | -| πŸ‡ΊπŸ‡Έ United States | US | `ACH` `Wire Transfer` `RTP` `FedNow` `SWIFT` | +| πŸ‡ΊπŸ‡Έ United States | US | `ACH` `Same-day ACH` `Wire Transfer` `RTP` `FedNow` `SWIFT` | | πŸ‡»πŸ‡³ Vietnam | VN | `Bank Transfer` `SWIFT` | | πŸ‡ΏπŸ‡² Zambia | ZM | `Mobile Money` (Airtel, MTN, Zamtel) `SWIFT` | diff --git a/mintlify/snippets/sending/accounts.mdx b/mintlify/snippets/sending/accounts.mdx index 2b518ec6a..5f2b88622 100644 --- a/mintlify/snippets/sending/accounts.mdx +++ b/mintlify/snippets/sending/accounts.mdx @@ -68,7 +68,7 @@ curl -X POST 'https://api.lightspark.com/grid/2025-10-13/quotes' \ - The `paymentRail` field is optional. If omitted, Grid selects a default rail for the destination. Specify a rail (e.g., `ACH`, `WIRE`, `RTP`, `FEDNOW`) when you need to control which payment network processes the transfer. + The `paymentRail` field is optional. If omitted, Grid selects a default rail for the destination. Specify a rail (e.g., `ACH`, `ACH_SAME_DAY`, `WIRE`, `RTP`, `FEDNOW`) when you need to control which payment network processes the transfer. `ACH_SAME_DAY` is never selected for you: it requests same-business-day settlement and is priced separately. It is capped at $1,000,000 per entry by the NACHA same-day limit (rising to $10,000,000 on 2027-09-17); a payout above that is rejected, so send it over `ACH` instead. diff --git a/openapi.yaml b/openapi.yaml index 63d1a94b1..0c180aaa4 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -13107,6 +13107,7 @@ components: enum: - ACH - ACH_COLOMBIA + - ACH_SAME_DAY - BANK_TRANSFER - BRE_B - CIPS @@ -13128,7 +13129,12 @@ components: - UNIONPAY - UPI - WIRE - description: The payment rail used for the transfer. Payment rails represent the underlying payment network or system used to move funds between accounts. + description: |- + The payment rail used for the transfer. Payment rails represent the underlying payment network or system used to move funds between accounts. + + `ACH_SAME_DAY` requests same-business-day settlement for a USD payout and is priced separately. It is subject to the NACHA per-entry same-day limit, which the network applies to every originator: $1,000,000 per entry, rising to $10,000,000 on 2027-09-17. A payout above that limit is rejected rather than slowed β€” check the amount before requesting this rail, or send it over `ACH`, which settles on the standard schedule and has no such limit. + + `ACH` will settle on the standard next-business-day schedule. Until a date we announce in advance, `ACH` continues to settle same-business-day on production platforms; it already settles next-business-day on sandbox platforms. To guarantee same-day settlement after that date, request `ACH_SAME_DAY`. example: ACH RailFeeConfig: allOf: @@ -13140,7 +13146,7 @@ components: - RAIL rail: $ref: '#/components/schemas/PaymentRail' - description: The rail used in the transaction. `ACH`, `RTP`, `FEDNOW` and `WIRE` are accepted today; other rails return a `NOT_IMPLEMENTED` error. + description: The rail used in the transaction. `ACH`, `ACH_SAME_DAY`, `RTP`, `FEDNOW` and `WIRE` are accepted today; other rails return a `NOT_IMPLEMENTED` error. direction: type: string enum: @@ -13159,7 +13165,7 @@ components: - rail - direction - originator - description: 'A fee charged when a transaction uses the specified rail. There can be at most one for a given rail, direction and originator. For example, a config with rail: ACH, direction: OUT, originator: GRID will charge a fee on all outgoing ACH transactions.' + description: 'A fee charged when a transaction uses the specified rail. There can be at most one for a given rail, direction and originator. For example, a config with rail: ACH, direction: OUT, originator: GRID will charge a fee on all outgoing ACH transactions. `ACH` and `ACH_SAME_DAY` are separate rails, so price each one with its own config.' FeeConfigOneOf: oneOf: - $ref: '#/components/schemas/CrossCurrencyTransactionFeeConfig' @@ -16075,6 +16081,7 @@ components: type: string enum: - ACH + - ACH_SAME_DAY - WIRE - RTP - FEDNOW diff --git a/openapi/components/schemas/common/PaymentRail.yaml b/openapi/components/schemas/common/PaymentRail.yaml index 652d8c32b..da2b49794 100644 --- a/openapi/components/schemas/common/PaymentRail.yaml +++ b/openapi/components/schemas/common/PaymentRail.yaml @@ -2,6 +2,7 @@ type: string enum: - ACH - ACH_COLOMBIA + - ACH_SAME_DAY - BANK_TRANSFER - BRE_B - CIPS @@ -26,4 +27,18 @@ enum: description: >- The payment rail used for the transfer. Payment rails represent the underlying payment network or system used to move funds between accounts. + + + `ACH_SAME_DAY` requests same-business-day settlement for a USD payout and is priced + separately. It is subject to the NACHA per-entry same-day limit, which the network + applies to every originator: $1,000,000 per entry, rising to $10,000,000 on + 2027-09-17. A payout above that limit is rejected rather than slowed β€” check the + amount before requesting this rail, or send it over `ACH`, which settles on the + standard schedule and has no such limit. + + + `ACH` will settle on the standard next-business-day schedule. Until a date we announce + in advance, `ACH` continues to settle same-business-day on production platforms; it + already settles next-business-day on sandbox platforms. To guarantee same-day + settlement after that date, request `ACH_SAME_DAY`. example: ACH diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml index 0af77eb63..c5fe65494 100644 --- a/openapi/components/schemas/common/UsdAccountInfo.yaml +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -10,6 +10,7 @@ allOf: type: string enum: - ACH + - ACH_SAME_DAY - WIRE - RTP - FEDNOW diff --git a/openapi/components/schemas/config/RailFeeConfig.yaml b/openapi/components/schemas/config/RailFeeConfig.yaml index e42596882..9fb14b7ea 100644 --- a/openapi/components/schemas/config/RailFeeConfig.yaml +++ b/openapi/components/schemas/config/RailFeeConfig.yaml @@ -8,8 +8,8 @@ allOf: rail: $ref: ../common/PaymentRail.yaml description: >- - The rail used in the transaction. `ACH`, `RTP`, `FEDNOW` and `WIRE` are - accepted today; other rails return a `NOT_IMPLEMENTED` error. + The rail used in the transaction. `ACH`, `ACH_SAME_DAY`, `RTP`, `FEDNOW` and + `WIRE` are accepted today; other rails return a `NOT_IMPLEMENTED` error. direction: type: string enum: @@ -35,4 +35,5 @@ allOf: description: >- A fee charged when a transaction uses the specified rail. There can be at most one for a given rail, direction and originator. For example, a config with rail: ACH, direction: OUT, - originator: GRID will charge a fee on all outgoing ACH transactions. + originator: GRID will charge a fee on all outgoing ACH transactions. `ACH` and + `ACH_SAME_DAY` are separate rails, so price each one with its own config.