Basic Attention Token (BAT) is an ERC20 utility token deployed on the Ethereum blockchain. This means BAT does not operate on its own blockchain, but instead operates atop the Ethereum blockchain and network.
Ethereum is a programmable blockchain that supports so-called “smart contracts”. Ethereum nodes execute the programming logic contained in smart contracts, and their data is saved and recorded into the underlying Ethereum blockchain.
ERC20 is a widely accepted smart contract standard that defines a typical fungible token. The BAT smart contract conforms to the ERC20 standard, and is therefore an “ERC20”.
As with all ERC20s, the BAT token smart contract contains a standardized interface that allows users, developers and other programs to interact with it in well-defined ways. The BAT token smart contract keeps track of all BAT token balances and their owners by Ethereum address.
You can find the BAT smart contract deployed at the following Ethereum address:
Although Ethereum smart contracts (programs) are compiled into Ethereum Virtual Machine (EVM) bytecode, the BAT team has made the original contract code entirely open source. The BAT token contract was written in the most popular Ethereum smart contract language, Solidity. The smart contract code can be found here.
BAT’s token contract code has been audited by Zeppelin, a reputable smart contract auditing organization.
As an ERC20 token, developers may freely interact with the BAT smart contract without requiring any special access.