> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Spark (spark)

> Aave V3 fork operated by MakerDAO/Sky ecosystem. Offers DAI/USDS borrowing backed by the Maker protocol.

Aave V3 fork operated by MakerDAO/Sky ecosystem. Offers DAI/USDS borrowing backed by the Maker protocol.

| Fact | Value |
| - | - |
| Category | Lending |
| Family | none |
| Namespace | `Spark` on ethereum |
| Chains | ethereum |

## Notes

* Same interface as Aave V3 (forked codebase) -- referralCode always 0
* interestRateMode: 2 = variable (stable rate being phased out)
* All supply/repay operations require ERC-20 approval to the Pool
* Ethereum-only deployment

## Its names in a program

On Ethereum, `Spark` is a namespace: its contracts need no import.

```ts theme={null}
function main() {
  // Ethereum's pool, `0xC13e21B648A5Ee794902342038FF3aDAB66BE987`.
  require(Spark.Pool != 0);
}
```

## Deployments

| Chain | Contract | Address | In a program |
| - | - | - | - |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | pool | `0xC13e21B648A5Ee794902342038FF3aDAB66BE987` | `Spark.Pool` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | poolAddressesProvider | `0x02C3eA4e34C0cBd694D2adFa2c690EECbC1793eE` | `Spark.PoolAddressesProvider` |

## ABI

### `SparkPoolABI`

`import SparkPoolABI from "./protocols/spark/SparkPoolABI.json";` Speaks for: pool.

* `supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode)`
* `withdraw(address asset, uint256 amount, address to) returns (uint256)`
* `borrow(address asset, uint256 amount, uint256 interestRateMode, uint16 referralCode, address onBehalfOf)`
* `repay(address asset, uint256 amount, uint256 interestRateMode, address onBehalfOf) returns (uint256)`

## Next steps

* [Protocols](https://docs.eco.com/sauce-sdk/reference/protocols.md): the other protocols, by what they do.
* [Protocols and tokens](https://docs.eco.com/sauce/names.md): calling a contract by its namespace, or through its ABI.
* [Glossary](https://docs.eco.com/sauce/glossary.md): the words these pages use, in plain terms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.