> For the complete documentation index, see [llms.txt](https://docs.dbdc.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dbdc.io/smart-contract.md).

# Smart Contract

DBDC is the shortest, simplest and most secure smart contract. It is a BEP-20 token on the Binance Smart Chain based on Open Zeppelin libraries.

* Not mintable, it has a fixed supply of 8,076,860,775 tokens.
* Not pausable, means the functionality cannot be paused.
* Burnable, means token holders can burn their tokens. (deflationary)&#x20;
* Ownable, no hidden roles or access by third parties.
* No token locks, no vesting periods. Tokens are available immediately.
* No proxy, meaning the token contract cannot be changed or manipulated.
* Zero taxes, it has 0% buy tax, 0% sell tax, so it cannot be rugged.
* No complicated code, it uses open Zeppelin libraries that are audited.
* Verified Smart Contract so everyone can view it.

### DBDC Token Contract :

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

/// @custom:security-contact support@dbdc.io
contract DecentralizedBankDigitalCurrency is ERC20, ERC20Burnable, Ownable {
    constructor(address initialOwner)
        ERC20("Decentralized Bank Digital Currency", "DBDC")
        Ownable(initialOwner)
    {
        _mint(msg.sender, 8076860775 * 10 ** decimals());
    }
}

```

### **DBDC Airdrop Contract:**

````solidity
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

// this is an example
contract Airdrop is Ownable {
    address public feeWallet;
    uint256 public amount;
    address public token;
    uint256 public extraFee;
    uint256 public epochSize = 100;
    uint256 public increaseFeePerEpoch = 1000000000000000;
    uint256 public currentEpoch = 0;
    uint256 public currentEpochTxs = 0;
```
````

feeWallet = where the airdrop fees goes.\
amount = airdrop amount per claim\
token = token contract id\
extraFee = initial fee amount.\
epochSize= cycle size.\
increaseFeePerEpoch= how much fee is added per cycle , in our case 0.001 BNB\
currentEpoch = Current cycle\
currentEpochTxs = Current trascaction id in cycle<br>

Stay #SAFU
