On this page
Getting Started
Connect the provider before signing and confirm the selected network. The direct injected provider and the Aptos Wallet Standard adapter have different argument types; do not interchange their examples. Replace abbreviated addresses and provide an SDK client for read-only calls.
Learn how to detect, connect, and interact with Aptos using OneKey’s provider.
OneKey exposes Petra-compatible methods and an Aptos Wallet Standard adapter. Their method signatures differ; use the interface documented for your integration.
Provider Detection
// Detect OneKey Aptos provider
const provider = window.$onekey?.aptos
if (!provider) {
throw new Error('OneKey Aptos provider not detected')
}
// Check provider info
console.log('Provider:', provider.isOneKey ? 'OneKey' : 'Unknown')Connect Wallet
// Connect and get account info
const response = await provider.connect()
console.log({
address: response.address, // Account address
publicKey: response.publicKey, // Public key
})Check Connection Status
const isConnected = await provider.isConnected()
console.log('Connected:', isConnected)Get Current Account
const account = await provider.account()
console.log({
address: account.address,
publicKey: account.publicKey,
})Get Network Info
const network = await provider.network()
console.log('Network:', network) // 'mainnet', 'testnet', 'devnet'
// For full network info
const networkInfo = await provider.getNetwork()
console.log({
name: networkInfo.name,
chainId: networkInfo.chainId,
url: networkInfo.url,
})Disconnect
await provider.disconnect()Event Listeners
Listen for Account Changes
provider.onAccountChange((newAccount) => {
if (newAccount) {
console.log('Account changed:', newAccount)
} else {
console.log('Wallet disconnected')
}
})Listen for Network Changes
provider.onNetworkChange((network) => {
console.log('Network changed:', network)
})Migration from Petra
OneKey’s Aptos provider is Petra-compatible. Update your provider detection:
// Before (Petra only)
const provider = window.petra
// After (OneKey with Petra fallback)
const provider = window.$onekey?.aptos || window.petraUsing with Aptos Wallet Adapter
For React applications, use the official Aptos Wallet Adapter:
npm install @aptos-labs/wallet-adapter-reactimport { AptosWalletAdapterProvider } from '@aptos-labs/wallet-adapter-react'
function App() {
return (
<AptosWalletAdapterProvider>
<YourApp />
</AptosWalletAdapterProvider>
)
}Use a Wallet Standard-compatible adapter version and verify that OneKey appears in its discovered wallet list.