# Deployed Smart Contracts

Smart contracts are critical to KillSwitch's functionality.  Trying to determine the most effective route to implement extended security for a wallet without access to the private key is tricky and we concluded best managed through smart contracts that act on behalf of based on permissions from the wallet owner.  We concluded that to be the best route simply because the largest hurdle to overcome is gas and that's not an end all be all.  Other options required self-hosted software or access to the private key and those don't seem feasible currently.<br>

With that, the following contracts are utilized in KillSwitch functionality:

* TriggerFactoryToken - The primary POC for both TriggerIndividualToken and KSGasEscrow.  TriggerIndividualToken contracts are deployed through the TriggerFactory.

  * Contract Address: See the table at the bottom of this page.
  * Owning Wallet Address: See the table at the bottom of this page.
  * Authorized Wallet Address: See the table at the bottom of this page.
  * Contract ABI: [Click Here](https://docs.praxxas.com/books/technicals/page/triggerfactory-abi)

* TriggerIndividualToken - The primary contract for individual wallets utilizing KillSwitch.  The wallet that deploys this contract is set as it's owner, with owner permitted authorization provided to TriggerFactoryToken for remote trigger calls made by KillSwitch on the owners behalf.

  * Contract Address: Generated upon deployment.
  * Owning Wallet Address: The generator's wallet.
  * Authorized Wallet Address: The KillSwitch TriggerFactoryToken.sol authorized address
  * Contract ABI: [Click Here](https://docs.praxxas.com/books/technicals/page/triggerindividual-abi)

* KSGasEscrow - This holds the gas provided by the wallet owners, ensuring they've access to withdraw their gas at any time while providing the TriggerIndividual contracts permission to transfer used gas for the remote trigger calls to the KillSwitch Gas Wallet.

  * Contract Address: See the table at the bottom of this page.
  * Owning Wallet Address: See the table at the bottom of this page.
  * Authorized Wallet Address: The KillSwitch TriggerFactoryToken.sol authorized address
  * Contract ABI: [Click Here](https://docs.praxxas.com/books/technicals/page/ksgasescrow-abi)

* KSSubscription - Utilized to enable access to KillSwitch's act-on-behalf functionality.  Options are available for variously durations.  The authorized wallet is used to perform options that are subscribable, approved by the owner.
  * Contract Address: See the table at the bottom of this page.
  * Owning Wallet Address: See the table at the bottom of this page.
  * Authorized Wallet Address: See the table at the bottom of this page.
  * Contract ABI: [Click Here](/killswitch/technicals/smart-contracts/kssubscription-abi.md)

**Contract Addresses**

| TriggerFactoryToken - Avalanche C-Chain   | 0x56c75198184684e006E3c758E679a3bDe3FaA232 |
| ----------------------------------------- | ------------------------------------------ |
| TriggerFactoryToken - CELO                | 0x92EDDd0e6D19DDA5C448A8419631304491205C98 |
| TriggerFactoryToken - Polygon Matic       | 0x5e3c569a5631c8B435dEc0e11F4dD4f4e7B97e3e |
| TriggerFactoryToken - Binance Smart Chain | 0xfA0A197406505c35b616c09A292Adc5486B56841 |
|                                           |                                            |
| KSGasEscrow - Avalanche C-Chain           | 0xAAeaBf05d8995746746fE2D162D60E70d7057Bc9 |
| KSGasEscrow - CELO                        | 0xCAD5554282963D78805C129180e8Eb5a3c775401 |
| KSGasEscrow - Polygon Matic               | 0xb1c09A226Da2451000AA6D6723A277F0e32774Fe |
| KSGasEscrow - Binance Smart Chain         | 0x5e3c569a5631c8B435dEc0e11F4dD4f4e7B97e3e |
|                                           |                                            |
| KSSubscription - Avalanche C-Chain        | 0x51cb91c57B3fe4bE29e81482eD33a7569af87C8C |
| KSSubscription - CELO                     | 0xa6423D6A422c73A0E44D8aFBd77CFd1a77Eba02c |
| KSSubscription - Polygon Matic            | 0x4493c9e5D06F3B744819846341F82cD23674c743 |
| KSSUbscription - Binance Smart Chain      | 0x93Ac2058eeEF6dA653776D9946ba2c7931066631 |

**Contract Owners**

| TriggerFactoryToken - Avalanche C-Chain   | 0x01E00ce5EcAC41aB4581cF7Ef068d051b705D05E |
| ----------------------------------------- | ------------------------------------------ |
| TriggerFactoryToken - CELO                | 0x4ebec6B1fF986E72e716d14Cb8C49AAaf44987Ab |
| TriggerFactoryToken - Polygon Matic       | 0x12C338a37602A8143670044FE154e5A60e21Ceb1 |
| TriggerFactoryToken - Binance Smart Chain | 0xC01b88ebe733aa0f530CD41E6773B39120EEaD7e |
|                                           |                                            |
| KSGasEscrow - Avalanche C-Chain           | 0x01E00ce5EcAC41aB4581cF7Ef068d051b705D05E |
| KSGasEscrow - CELO                        | 0x4ebec6B1fF986E72e716d14Cb8C49AAaf44987Ab |
| KSGasEscrow - Polygon Matic               | 0x12C338a37602A8143670044FE154e5A60e21Ceb1 |
| KSGasEscrow - Binance Smart Chain         | 0xC01b88ebe733aa0f530CD41E6773B39120EEaD7e |
|                                           |                                            |
| KSSubscription - Avalanche C-Chain        | 0x01E00ce5EcAC41aB4581cF7Ef068d051b705D05E |
| KSSubscription - CELO                     | 0x4ebec6B1fF986E72e716d14Cb8C49AAaf44987Ab |
| KSSubscription - Polygon Matic            | 0x12C338a37602A8143670044FE154e5A60e21Ceb1 |
| KSSubscription - Binance Smart Chain      | 0xC01b88ebe733aa0f530CD41E6773B39120EEaD7e |

\
**Contract Authorizations**

| TriggerFactoryToken - Avalanche C-Chain   | 0x0 |
| ----------------------------------------- | --- |
| TriggerFactoryToken - CELO                | 0x0 |
| TriggerFactoryToken - Polygon Matic       | 0x0 |
| TriggerFactoryToken - Binance Smart Chain | 0x0 |
|                                           |     |
| KSSubscription - Avalanche C-Chain        | 0x0 |
| KSSubscription - CELO                     | 0x0 |
| KSSubscription - Polygon Matic            | 0x0 |
| KSSubscription - Binance Smart Chain      | 0x0 |

\ <br>


---

# 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://praxxas.gitbook.io/killswitch/technicals/smart-contracts/deployed-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.
