<!--
{
  "availability" : [
    "iOS: 11.0.0 - 15.0.0",
    "iPadOS: 11.0.0 - 15.0.0",
    "macCatalyst: 13.1.0 - 15.0.0",
    "visionOS: 1.0.0 - 1.0.0",
    "watchOS: 4.0.0 - 8.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INTransferMoneyIntentHandling",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INTransferMoneyIntentHandling"
  },
  "title" : "INTransferMoneyIntentHandling"
}
-->

# INTransferMoneyIntentHandling

The handler interface for transferring money between accounts.

```
protocol INTransferMoneyIntentHandling : NSObjectProtocol
```

## Overview

Use the methods of the [`INTransferMoneyIntentHandling`](/documentation/Intents/INTransferMoneyIntentHandling) protocol to resolve, confirm, and handle requests to transfer money between accounts. Adopt this protocol in an object of your Intents extension that’s capable of handling the transfer.

Siri delivers an [`INTransferMoneyIntent`](/documentation/Intents/INTransferMoneyIntent) object to your handler when the user asks to transfer money using your app. The provided intent object contains information about the amount to transfer and the accounts involved. Use the methods of this protocol to resolve the account information and initiate the transaction.

## Topics

### Resolving the Intent Parameters

[`func resolveFromAccount(for: INTransferMoneyIntent, with: (INPaymentAccountResolutionResult) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/resolveFromAccount(for:with:))

Resolves the user account that’s the source of the funds.

[`func resolveToAccount(for: INTransferMoneyIntent, with: (INPaymentAccountResolutionResult) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/resolveToAccount(for:with:))

Resolves the user account that’s the destination of the funds.

[`func resolveTransactionAmount(for: INTransferMoneyIntent, with: (INPaymentAmountResolutionResult) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/resolveTransactionAmount(for:with:))

Resolves the amount that the user wants to transfer.

[`func resolveTransactionScheduledDate(for: INTransferMoneyIntent, with: (INDateComponentsRangeResolutionResult) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/resolveTransactionScheduledDate(for:with:))

Resolves the date on which the transfer is to occur.

[`func resolveTransactionNote(for: INTransferMoneyIntent, with: (INStringResolutionResult) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/resolveTransactionNote(for:with:))

Resolves any custom notes associated with the transaction.

### Confirming the Response

[`func confirm(intent: INTransferMoneyIntent, completion: (INTransferMoneyIntentResponse) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/confirm(intent:completion:))

Confirms the transaction details and validates the transaciton.

### Handling the Intent

[`func handle(intent: INTransferMoneyIntent, completion: (INTransferMoneyIntentResponse) -> Void)`](/documentation/Intents/INTransferMoneyIntentHandling/handle(intent:completion:))

Handles the scheduling of the transfer.

## Relationships

### Inherited By

[`INPaymentsDomainHandling`](/documentation/Intents/INPaymentsDomainHandling)

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)