# Smart Contracts

Below are the essential smart contract addresses you'll need for your Kaching journey. Remember, always double-check the addresses before any transaction.

## Kaching Smart Contracts

| Name                             | Address                                    | Description                                                                                                                                    |
| -------------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Base Draw Beacon                 | 0x090c8e1e283AC1C702752fb5D806442B6CF5e510 | Used to initiate, cancel and complete draws. Manages the request of the random winning number, as well as push new draws into the Draw Buffer. |
| Base Draw Buffer                 | 0xB2e4F825EE92998e82ad716B455339502Ee41EB5 | Provides lookups of past draws.                                                                                                                |
| Base Draw Calculator             | 0x9f3964df53318470b7c8c27527B82d177cDD8FD1 | Calculates the picks a user gets for a draw, and prizes attributable to the user for given draws.                                              |
| Base Prize Distribution Buffer   | 0x0EcaB989101b5DFA0057992aF90d6548CB47184B | Used to look up the historical parameters that make up the structure of given drawID(s).                                                       |
| Base Prize Distribution Factory  | 0x3F9912e271DA6818AF16DF5eFE159B31e3187aD4 | Used to compute the correct prize distribution, and push the distribution for a drawID to the Prize Distribution Buffer.                       |
| Base Prize Distributor with Fee  | 0x45c7cbfA75d9c9CB89851BB72A7D0750c862E4c4 | Used to distribute prizes to the user if they are eligible to claim prizes.                                                                    |
| Base Prize Flush                 | 0x8a284e616187B57e0B17B2Fdf61B2DebB2C27405 | Used to move Prize Pool yield to the Prize Distributor.                                                                                        |
| Base Prize Split Strategy        | 0xFC05f1Fe30726B31C30C7a3b3227879a774ecDf3 | Used by Prize Flush to move funds, eventually to the Prize Distributor                                                                         |
| BasePrize Tier History           | 0xD462D1cE5c04C19f49AeC22Ed5D4Ca1B197b96e3 | Provides lookups of past prize tier configuration for given drawID(s).                                                                         |
| Base Reserve                     | 0x9D907d7a1FeE42d107ea7d1132B22F7a3b53e5f8 | Provides lookups for token accumulation and deaccumulation in the reserve during a specified time range.                                       |
| Base Ticket                      | 0x4274b37fF2Ad353a97e414f56970CF5E0Fa6dA4F | Used to compute the TWAB of a user.                                                                                                            |
| Base Yield Source Prize Pool     | 0x2ed22F46F28dFe855BE7E0145609cABe524153F0 | Used to stake funds into the yield-bearing activity via another yield source contract.                                                         |
| RNG Bandchain                    | 0x71EF9B76fFFE6c3c8Eb5253E03DeA600E77eC9C6 | Used to request a new random number that will be used when initiating a new draw.                                                              |
| KCH Token                        | 0x4ddA1Bb6E378dCEf97bfF1057b6452615E86373c | KCH Token                                                                                                                                      |
| xKCH/KCHBar                      | 0x02CaeCb0316020198f2D34b7960FFF4635d962ac | xKCH                                                                                                                                           |
| Kaching Boost                    | 0xF85b28330Bc788336A35bBDF661c61973d67A31E | Used to distribute the reward in Vaults.                                                                                                       |
| KCH PRIZE DISTRIBUTOR            | 0x92676675a400600D47Fc0469eB008D02ffc9414B | Used to distribute the KCH prizes of the draws.                                                                                                |
| Base Yield Vault                 | 0x12855b04ded8aafa7da1ea1d34072108b675b824 | Used to distribute the reward of Base Yield.                                                                                                   |
| Team Airdrop Wallet              | 0xdE590424b79f15af61c051CdD51e5a9210611286 | Used to airdrop prizes and rewards to users.                                                                                                   |
| Turbo Ticket                     | 0x5e5810e6c9a42c6ad8e97e387582dfE48CB82dCa | Used to compute the TWAB of a user.                                                                                                            |
| Turbo Reserve                    | 0x4bC9C6d6A03a0eC1D71F56Ad1e84E5FA9cE10C77 | Provides lookups for token accumulation and deaccumulation in the reserve during a specified time range.                                       |
| Turbo Draw Buffer                | 0x9340005fDA9BbaE6650f0407A13335686014018b | Provides lookups of past draws.                                                                                                                |
| Turbo Flush                      | 0xd52dd3fE6920c3cEBB777e6642Bd59CaD8996BB8 | Used to move Prize Pool yield to the Prize Distributor.                                                                                        |
| Turbo Beacon                     | 0x67818cE2a55B84B3299C6A97dA0083b2950C4FA7 | Used to initiate, cancel and complete draws. Manages the request of the random winning number, as well as push new draws into the Draw Buffer. |
| Turbo Yield Source               | 0xf753035ad5Ad3AE960F1B5De00A919B1A29FA214 | Provides lookups of past draws.                                                                                                                |
| Turbo Draw Calculator            | 0x36E7dBAb65b39C677eD6D44372A8Fa44c07Bb5Ce | Calculates the picks a user gets for a draw, and prizes attributable to the user for given draws.                                              |
| Turbo Prize Distributor with Fee | 0x681dCFF5e5925101E8CcF9a9c4b417c233B60851 | Used to distribute prizes to the user if they are eligible to claim prizes.                                                                    |
| Turbo Prize Tier History         | 0x953Ac9171Bc5d49e5F4EF6584ED59C8dB052b20F | Provides lookups of past prize tier configuration for given drawID(s).                                                                         |
| Turbo Split Strategy             | 0x35a79717502200f02507F16085DE6E6d2F5AbB39 | Used by Prize Flush to move funds, eventually to the Prize Distributor                                                                         |
| Turbo Yield Source Prize Pool    | 0xC2d4bdfBE9668b48BA0f3F7c7bb44B5075F759e2 | Used to stake funds into the Veno yield-bearing activity.                                                                                      |
| Turbo Prize Distribution Buffer  | 0x89dc769246B0a530fB993E870F7d2E70a2bb9226 | Used to look up the historical parameters that make up the structure of given drawID(s).                                                       |

## External Smart Contracts

| Name                  | Address                                    | Description                                                                                |
| --------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| VRF Provider V2       | 0xaec7d640e4f1970615e685286202486c26b7bcb3 | Contract for working with BandChain’s VRF feature                                          |
| Tectonic Yield Source | 0x4fC21ce96182613781EED68E9E4C8fa37f07ED94 | Defines the functions used to interact with the yield source, inherited by the Prize Pool. |
| KCH/VVS pool          | 0x559622e323B4443B6df40e4d44FaD04776B784A8 | KCH/VVS liquidity pool contract                                                            |
