
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
webnative-walletauth
Advanced tools
Use the [Webnative SDK](https://github.com/fission-codes/webnative#readme) with a blockchain wallet. Access your personal encrypted file system with your wallet keys.
Use the Webnative SDK with a blockchain wallet. Access your personal encrypted file system with your wallet keys.
Uses Ethereum by default with window.ethereum as the provider. Currently only works with MetaMask because it's the only wallet with encryption and decryption.
import * as walletauth from "webnative-walletauth"
import { AppScenario } from "webnative"
// Initialise
const program = await walletauth.program({
// optional event handlers
onAccountChange: (newProgram) => handleProgram(newProgram),
onDisconnect: () => { /* eg. logout() */ }
})
handleProgram(program)
function handleProgram(program) {
if (program.session) {
// ✅ Authenticated
} else {
// Failed to authenticate with wallet
}
}
Use a custom Ethereum provider:
import * as ethereum from "webnative-walletauth/wallet/ethereum"
ethereum.setProvider(window.ethereum)
You can also write an implementation for other wallets. Note that the DID method has to be supported by the Fission server, unless you're using other services with Webnative. At the moment of writing, you can only use the key method for DIDs with the Fission servers. It supports ED25519, RSA and SECP256K1 keys, same for the UCAN algorithms.
import { Implementation } from "webnative-walletauth/wallet/implementation"
const impl: Implementation = {
decrypt: (encryptedMessage: Uint8Array) => Promise<Uint8Array>,
encrypt: (storage: Storage.Implementation, data: Uint8Array) => Promise<Uint8Array>,
init: (storage: Storage.Implementation, args: InitArgs) => Promise<void>,
publicSignature: {
type: string
magicBytes: Uint8Array
key: (storage: Storage.Implementation) => Promise<Uint8Array>
},
sign: (data: Uint8Array) => Promise<Uint8Array>,
ucanAlgorithm: string,
username: () => Promise<string>,
verifySignedMessage: (storage: Storage.Implementation, args: VerifyArgs) => Promise<boolean>,
}
// When creating a Program indicate that you want to use your custom wallet implementation.
walletauth.program({
wallet: impl
})
FAQs
Use the [Webnative SDK](https://github.com/fission-codes/webnative#readme) with a blockchain wallet. Access your personal encrypted file system with your wallet keys.
We found that webnative-walletauth demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.