@web5nexus/authmodal-core
v0.3.2
Published
Web5 Nexus Auth Modal core — social wallet adapters, session, chains, Bitcoin Taproot bridge
Readme
@web5nexus/authmodal-core
Headless social-wallet client for Web5 Auth Modal: adapter registry, session state, EVM transport, and Bitcoin address derivation.
Use this package when you need the auth pipeline without the React UI (or when building a custom UI).
Install
npm install @web5nexus/authmodal-core@^0.3.0Optional peers:
npm install @web5nexus/chainrouter @web5nexus/bitcoin-coreWhat it does
- Registers one or more social wallet adapters (Web3Auth, Magic, …)
- Manages connect / disconnect and a typed session (EVM address + optional Bitcoin)
- Routes EVM RPC through
transport:custom— yourrpcUrlchainrouter—@web5nexus/chainrouter
- Derives Bitcoin addresses via
resolveBitcoinAddresses→@web5nexus/bitcoin-core/addresseswhen key export is available
Usage
import { createAuthModal } from '@web5nexus/authmodal-core'
import { web3auth } from '@web5nexus/authmodal-web3auth'
const client = createAuthModal({
adapters: [
web3auth({ clientId: process.env.W3A_CLIENT_ID!, network: 'sapphire_mainnet' }),
],
chains: [1, 8453],
transport: {
mode: 'chainrouter',
apiKey: process.env.CHAINROUTER_API_KEY!,
chainId: 1,
},
bitcoin: { enabled: true, network: 'mainnet', prefer: 'taproot' },
})
await client.connect('web3auth', { method: 'google' })
const session = client.getSession()
// session.address, session.bitcoin?.p2tr, …Helpers
import { chainRouterRpcUrl, formatEvmAddress } from '@web5nexus/authmodal-core'
const rpc = chainRouterRpcUrl(1, apiKey)
formatEvmAddress('0xabc…def') // 0xabc…defBYOK
Adapters must be constructed with your vendor keys. This package never embeds shared credentials.
License
MIT — Web5 Nexus Team
