# 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                                                            |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kaching.win/additional/smart-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
