Instant payments with RTP & FedNow

Instant payments (RTP or FedNow) move funds from a Moov wallet to a bank account in seconds, 24/7/365, including weekends and bank holidays. Moov picks the network; you use one payment method, instant-bank-credit.

Before you start

  • The source account has the send-funds.instant-bank and wallet.balance capabilities
  • The source is a moov-wallet with enough availableBalance for the amount and any payout fee. Instant payments can't be funded directly from a bank account.
  • The recipient's linked bank account is eligible, which gives it an instant-bank-credit payment method
  • API version v2026.04.00 or later to create instant-bank-credit transfers
Instant payments
Speed Seconds, 24/7/365
Networks RTP (The Clearing House) or FedNow (Federal Reserve)
Per-transfer limit $100,000 for instant-bank-credit; $10,000,000 for rtp-credit
Reversible No. A completed instant payment is final.
Fee Set by your fee plan; the recipient can pay it with feePaidBy
Standard instant funds flow diagram

Bank account eligibility

When a bank account is linked, Moov checks whether its bank can receive payments on RTP or FedNow. If it can, Moov adds an instant-bank-credit payment method to the bank account. If a bank account has no instant-bank-credit payment method, send with same-day ACH instead.

Send an instant payment

Create a transfer with the sender's moov-wallet payment method as the source and the recipient's instant-bank-credit payment method as the destination. Include X-Wait-For: rail-response to get the network result in the response. The source wallet balance decreases immediately. See send funds for the full request.

Check the result

The transfer response, the transfers GET endpoint, and transfer.updated webhooks include instantBankDetails, with the network used, a rail-specific status, and a failureCode if it failed.

{
  "instantBankDetails": {
    "network": "rtp",
    "status": "completed",
    "initiatedOn": "2025-08-08T19:45:12Z",
    "completedOn": "2025-08-08T19:45:45Z",
    "failedOn": null, 
    "acceptedWithoutPostingOn": null,
    "failureCode": null, 
    "networkResponseCode": "ACTC", 
    "endToEndID": "E2E123456789"
  }
}

Statuses

Find rail-specific transfer status information within instantBankDetails:

Transfer status Description
initiated The payment has reached the rail, but Moov has not yet received a response
accepted-without-posting Moov has received an accepted without posting message from the receiving bank, as they need more time to process the payment. The funds are moved but are not yet available to the recipient.
completed Moov has received an accepted message from the receiving bank, and funds are available to the recipient
failed Moov has received a rejected message from the receiving bank. The failure code, reason, and description is provided in the transfer response.

Failure codes

Some failures set the bank account status to errored. The recipient then needs to link a new bank account (or contact Moov) before you can pay them again.

Failure code Description Status: action
account-blocked Account is blocked. Transactions cannot be posted against it. errored: Add new account
account-closed Account is closed. errored: Add new account
customer-deceased Customer is deceased. errored: Add new account
invalid-account Account number is invalid or missing. errored: Add new account
invalid-amount Amount entered is invalid. No action needed
invalid-field A field entry could not be validated. No action needed
limit-exceeded Amount entered exceeds approved amount. No action needed
processing-error Transaction could not be processed due to processing error. No action needed
transaction-not-supported Transaction is not supported. No action needed

Refer to the The Clearing House's Message Status Report appendix for the latest ISO RTP error codes (networkReasonCode).

RTP credit

The rtp-credit payment method is still currently supported, though Moov strongly suggests using instant-bank-credit instead. The rtp-credit payment method will be deprecated in the future.

Creating transfers with the instant-bank-credit payment method is supported for API versions 2026.04.00 and higher.

Instant payments on the RTP rail are enabled by The Clearing House and processed almost immediately, 24/7/365. The rtp-credit payment method is added to qualifying bank accounts.

Wallet to bank RTP flow diagram

Once funds are sent, the transfer is final and cannot be reversed. Moov has a platform transaction limit of $10,000,000.00 for RTP credit. If a transfer uses the rtp-credit payment method, the response will include rtpDetails:

{
  "rtpDetails": {
    "status": "completed",
    "initiatedOn": "2025-08-08T19:45:12Z",
    "completedOn": "2025-08-08T19:45:45Z",
    "failedOn": null, 
    "acceptedWithoutPostingOn": null,
    "failureCode": null, 
    "networkResponseCode": "ACTC"
  }
}

Additionally, you can obtain details about a transfer through the transfers GET endpoint.

Next steps

  • Payout fees: pass the instant payment fee to the recipient
  • Payment links: let recipients choose instant or ACH themselves
  • Sweeps: settle a wallet balance by instant payment every day