Wallet Authentication and Permissions
How to authenticate using wallets, manage permissions, and secure interactions with the platform's smart contracts.
Overview
Authenticate with 1bz dzit dao llc using Ethereum-compatible wallets on the Polygon network. You connect your wallet to interact with smart contracts for governance staking, DZIT gas metering, and escrow-secured executions. Permissions scale with your staked {1BZ} balance, enabling voting and advanced actions.
Permissions rely on on-chain staking proofs—no centralized logins. Always use hardware wallets for high-value stakes.
Disconnect your wallet after sessions and revoke approvals via PolygonScan.
Connect Your Wallet
Follow these steps to connect your wallet to the platform. Ensure you're on Polygon Mainnet (chain ID 137).
Switch to Polygon
In your wallet, add Polygon network if missing:
RPC URL: https://polygon-rpc.com
Chain ID: 137
Symbol: MATIC
Connect Wallet
Visit dzit.1bz.biz and click "Connect Wallet".
Approve Connection
Sign the connection message. No gas fees required for this step.
Wallet-Specific Instructions
Use these platform-specific guides for optimal connection.
Install MetaMask extension and create/import wallet.
// Auto-detected on dzit.1bz.biz
if (window.ethereum) {
await window.ethereum.request({ method: 'eth_requestAccounts' });
}
Enable "Advanced Gas Controls" for custom {DZIT} metering.
Scan QR code from the DZIT Portal.
import { WalletConnectProvider } from '@walletconnect/web3-provider';
const provider = new WalletConnectProvider({
rpc: { 137: 'https://polygon-rpc.com' }
});
await provider.enable();
Signing Transactions for Governance
Sign typed data for DAO proposals. Use the DAO contract {0xb625a70f874429dc94060673577cd98ba11941ac}.
import { ethers } from 'ethers';
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const domain = {
name: '1BZ DAO',
version: '1',
chainId: 137,
verifyingContract: '0xb625a70f874429dc94060673577cd98ba11941ac'
};
const types = {
Vote: [
{ name: 'proposalId', type: 'uint256' },
{ name: 'support', type: 'bool' }
]
};
const message = { proposalId: 1, support: true };
const signature = await signer._signTypedData(domain, types, message);
console.log(signature);
import Web3 from 'web3';
const web3 = new Web3(window.ethereum);
const accounts = await web3.eth.requestAccounts();
const domain = {
name: '1BZ DAO',
version: '1',
chainId: 137,
verifyingContract: '0xb625a70f874429dc94060673577cd98ba11941ac'
};
const types = {
Vote: [
{ name: 'proposalId', type: 'uint256' },
{ name: 'support', type: 'bool' }
]
};
const message = { proposalId: 1, support: true };
const signature = await web3.currentProvider.send('eth_signTypedData_v4', [
accounts[0],
JSON.stringify({ types, domain, primaryType: 'Vote', message })
]);
console.log(signature);
Permission Levels
Your permissions depend on staked {1BZ} amount. Stake via the DAO contract.
Basic User
Connect wallet, view proposals.
Stake required: 0 {1BZ}
Staker
Mint {DZIT} gas, execute workflows.
Stake required: {>100 1BZ}
Voter
Vote on governance proposals.
Stake required: {>1,000 1BZ}
Governor
Propose upgrades, treasury spends.
Stake required: {>10,000 1BZ}
Minimum {1BZ} staked for permission tier.
Security Best Practices
Protect your wallet and stakes.
Use Ledger or Trezor for signing.
// Ledger example with ethers
import { ethers } from 'ethers';
import LedgerSigner from '@ethersproject/hardware-wallets';
const signer = LedgerSigner.create();
await signer.connect();
Never share your seed phrase. Use {YOUR_API_KEY} placeholders in code, not real keys.
Next Steps
Last updated today