---
title: PingOne Wallet Native SDKs
description: This defines the usage and interfaces of the PingOne Wallet Native SDKs to interact with PingOne credentialing services. The SDK provides for a user to receive, save, and share credentials for identification and verification purposes. PingOne Wallet Native SDKs are available in for two operating systems:
component: pingone-api
page_id: pingone-api:native-sdks:pingone-neo-native-sdks/pingone-wallet-native-sdks
canonical_url: https://developer.pingidentity.com/pingone-api/native-sdks/pingone-neo-native-sdks/pingone-wallet-native-sdks.html
section_ids:
  pingone-wallet-native-sdk-flows: PingOne Wallet Native SDK flows
  wallet-initialization: Wallet initialization
  credential-presentation: Credential presentation
---

# PingOne Wallet Native SDKs

This defines the usage and interfaces of the PingOne Wallet Native SDKs to interact with PingOne credentialing services. The SDK provides for a user to receive, save, and share credentials for identification and verification purposes. PingOne Wallet Native SDKs are available in for two operating systems:

* [PingOne Wallet Native SDK for iOS](pingone-wallet-native-sdks/pingone-wallet-native-sdk-for-ios.html)

* [PingOne Wallet Native SDK for Android](pingone-wallet-native-sdks/pingone-wallet-native-sdk-for-android.html)

## PingOne Wallet Native SDK flows

### Wallet initialization

When the wallet SDK initializes for the first time, it creates a new application instance for the default geographic supplied in the PingOneWalletClient.Builder, registers with the credentials service, and saves the application identifier with cryptographic keys locally. When the SDK receives a request for another region, it registers the same set of keys with the credential service running in the geographywhere the request originated before processing the request.

![PingOne Wallet Native SDK wallet initialization flow diagram](../../_images/p1Credentials-walletInitialization.png)

### Credential presentation

Upon scanning a QR, receiving a notification, or clicking a deep link the application passes the information to the SDK. The SDK then uses this information to fetch and parse the Presentation Request, and find the credentials in storage that match. These pass back to the Wallet Application that decides and approves which credentials to share. The SDK identifies the protocol in the presentation request (Native vs OPENID4VP) and prepares a Presentation Response accordingly. If the request is for presenting credentials for a session on the same device, the SDK asks the app to redirect the user to the corresponding URL in the browser after submitting the presentation response.

![PingOne Wallet Native SDK credential presentation flow diagram](../../_images/p1Credentials-credentialPresentation.png)
