@base-org/account
v2.5.10
Published
Base Account SDK
Readme
Base Account SDK
Base Account SDK allows dapps to connect to Base Account
Installing Base Account SDK
Check available versions:
# yarn yarn info @base-org/account versions # npm npm view @base-org/account versionsInstall latest version:
# yarn yarn add @base-org/account # npm npm install @base-org/accountCheck installed version:
# yarn yarn list @base-org/account # npm npm list @base-org/account
Upgrading Base Account SDK
Compare the installed version with the latest:
# yarn yarn outdated @base-org/account # npm npm outdated @base-org/accountUpdate to latest:
# yarn yarn upgrade @base-org/account --latest # npm npm update @base-org/account
Basic Usage
Initialize Base Account SDK
const sdk = createBaseAccountSDK({ appName: 'SDK Playground', });Make Base Account Provider
const provider = sdk.getProvider();Request accounts to initialize a connection to wallet
const addresses = provider.request({ method: 'eth_requestAccounts', });Make more requests
provider.request('personal_sign', [ `0x${Buffer.from('test message', 'utf8').toString('hex')}`, addresses[0], ]);Handle provider events
provider.on('connect', (info) => { setConnect(info); }); provider.on('disconnect', (error) => { setDisconnect({ code: error.code, message: error.message }); }); provider.on('accountsChanged', (accounts) => { setAccountsChanged(accounts); }); provider.on('chainChanged', (chainId) => { setChainChanged(chainId); }); provider.on('message', (message) => { setMessage(message); });
Developing locally and running the test dapp
The Base Account SDK test dapp can be viewed here https://base.github.io/account-sdk/.
To run it locally follow these steps:
- Fork this repo and clone it
- From the root dir run
yarn install - From the root dir run
yarn dev
Script Tag Usage
Base Accunt can be used directly in HTML pages via a script tag, without any build tools:
<!-- Via unpkg -->
<script src="https://unpkg.com/@base-org/account/dist/base-account.min.js"></script>
<!-- Via jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/@base-org/account/dist/base-account.min.js"></script>Once loaded, the SDK is available as window.base and window.createBaseAccountSDK:
// Make a payment
const result = await window.base.pay({
amount: "10.50",
to: "0xYourAddress...",
testnet: true
});
// Check payment status
const status = await window.base.getPaymentStatus({
id: result.id,
expectedPayment: {
amount: "10.50",
recipient: "0xYourAddress..."
},
testnet: true
});
// Create Base Account Provider
const provider = window.createBaseAccountSDK().getProvider()For production payment verification, call getPaymentStatus on your backend and populate
expectedPayment from trusted server-side order data. Omitting it preserves backward compatibility
but does not verify the order amount or recipient. Bind each payment ID to one order and reject IDs
that have already been used for fulfillment.
