<!--
{
  "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/resolveFromAccount(for:with:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INTransferMoneyIntentHandling(im)resolveFromAccountForTransferMoney:withCompletion:"
  },
  "title" : "resolveFromAccount(for:with:)"
}
-->

# resolveFromAccount(for:with:)

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

```
optional func resolveFromAccount(for intent: INTransferMoneyIntent, with completion: @escaping @Sendable (INPaymentAccountResolutionResult) -> Void)
```

```
optional func resolveFromAccount(for intent: INTransferMoneyIntent) async -> INPaymentAccountResolutionResult
```

## Parameters

`intent`

The intent object containing details of the user’s request. Use this object to get the initial information, if any, provided by the user.

`completion`

The handler block to execute with the resolution. You must execute this handler at some point during your implementation of this method. This handler has no return value and takes the following parameter:

- resolutionResult: The resolution object containing your proposed resolution. For successful resolutions, create a resolution object whose value is the [`INPaymentAccount`](/documentation/Intents/INPaymentAccount) object that identifies the user’s account. This parameter must not be `nil`.

## Discussion

Implement this method to resolve the account that’s the source of the transferred funds. Use this method to verify that the specified account exists and you can use it as the source of a funds transfer. The [`fromAccount`](/documentation/Intents/INTransferMoneyIntent/fromAccount) property of the intent object contains any information provided by the user about which account to use. Don’t try to verify that the account has sufficient funds for the transfer. Instead, verify that the account has sufficient funds in the [`confirm(intent:completion:)`](/documentation/Intents/INTransferMoneyIntentHandling/confirm(intent:completion:)) method.

Return a successful resolution if you’re able to verify the existence of the account. If the user doesn’t have any accounts to facilitate a transfer, return a successful resolution or indicate that the account isn’t required and then use the [`confirm(intent:completion:)`](/documentation/Intents/INTransferMoneyIntentHandling/confirm(intent:completion:)) method to report an appropriate error. If the user has multiple accounts that match the provided information, either pick one and ask for confirmation or use the [`disambiguation(with:)`](/documentation/Intents/INPaymentAmountResolutionResult/disambiguation(with:)) method to create a resolution that prompts the user to select an account.

---

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)