# WalletProvider ```javascript= import { WalletProvider } from '@tezos...'; import { KukaiConnector } from '@tezos...'; import { BeaconConnector } from '@tezos...'; const net=... //this in future could become an array of supported chains const settings = { connectors:[ new KukaiConnector({ net }), new BeaconConnector({ net, options:{ ... } }), ] } export default function App() { return ( <WalletProvider settings={settings}> <Example /> </WalletProvider> ); } ``` ```javascript= import { useAccount } from '@tezos...'; export default function Example() { const {isConnected} = useAccount() return isConnected ? <AuthenticatedExample /> : <UnauthenticatedExample /> } ``` ```javascript= import { useConnect } from '@tezos...'; export default function UnauthenticatedExample() { const {connect, connectors, isConnecting} = useConnect() return isConnecting ? <Spinner /> : <div> {connectors.map((connector) => ( <button disabled={!connector.ready} key={connector.id} onClick={() => connect({ connector })} > {connector.name} {!connector.ready && ' (unsupported)'} </button> </div> } ``` ```javascript= import { useAccount, useDisconnect, useSend } from '@tezos...'; export default function AuthenticatedExample() { const { address, connector} = useAccount() const { disconnect } = useDisconnect() const { data, isIdle, isError, isLoading, isSuccess, send } = useSend({ kind: 'transaction', destination: 'tz1NBvY7qUedReRcYx8gqV34c8fUuks8o8Nr', amount: '10000' }) return ( <div> <div>{address}</div> <div>Connected to {connector.name}</div> <button onClick={disconnect}>Disconnect</button> {isIdle && ( <button disabled={loading} onClick={() => send()}> Donate to Dario </button> )} {isLoading && <div>Check Wallet</div>} {isSuccess && <div>Transaction: {JSON.stringify(data)}</div>} {isError && <div>Error sending transaction</div>} </div> ) }