Skip to main content
Ankara Chain ships two parallel contract suites — Solidity contracts for EVM-compatible chains and Rust/Soroban contracts for the Stellar network. Both suites expose the same logical interface through the SDK’s adapter layer, so application code written against one chain works on the other with a config change. Every contract is MIT licensed, open source, and audited for production use. You deploy them yourself; Ankara Chain never holds custody of your keys or your assets.

Contract suite overview

Token Contracts

Factory Contracts

Supporting Contracts


UUPS proxy pattern

Every ERC-20 token deployed through TokenFactory is an ERC-1967 proxy. The proxy stores your token’s state (balances, metadata, status) and delegates all logic calls to one of the six template implementation contracts. This means:
  • You can upgrade a deployed token by calling upgradeToAndCall on the proxy — only the deployer (admin) can do this.
  • Templates are shared across all tokens of the same type. If a bug is found in FarmlandToken, a new implementation is deployed once and you point your proxy to it.
  • The proxy address is permanent — your token’s on-chain address never changes after deployment, even after an upgrade.
The SDK’s TokenFactory class handles all of this for you via deployFarmland(), deployCommodity(), etc.
The UUPS implementation uses OpenZeppelin Contracts v5. The upgrade authority is the admin address set at deployment time — by default, the deployer’s wallet. Store this key securely; losing it means you lose upgrade control over your tokens.

Roles and access control

Every deployed token carries a small permission model: There is no Ankara Chain platform key with any privilege over your contracts. Once deployed, the contracts are fully under your admin key’s control.

License

All Ankara Chain smart contracts are released under the MIT License. You may use, fork, and redistribute them freely. Attribution is appreciated but not required.
The contracts are designed for production and have been audited. However, the deployer is responsible for custody of the admin key, correct configuration of identity verifiers, and any regulatory compliance obligations in their jurisdiction. Deploying tokenized RWAs may be subject to securities law in your country.