133 lines
6.1 KiB
Markdown
133 lines
6.1 KiB
Markdown
# @aere/sdk
|
|
|
|
Official AERE Network TypeScript SDK. Wraps `ethers v6` with typed contract clients for every deployed AERE L1 contract.
|
|
|
|
**SDK version:** 0.3.0
|
|
**Last updated:** 2026-05-31
|
|
**Network state at this release:** 16 contracts live on chain ID 2800.
|
|
|
|
---
|
|
|
|
## Network parameters
|
|
|
|
| | |
|
|
|---|---|
|
|
| Chain name | AERE Network |
|
|
| Chain ID | 2800 (`0xAF0`) |
|
|
| Consensus | Hyperledger Besu QBFT, 1-second blocks, sub-second finality, 3 validators |
|
|
| Native token | AERE (18 decimals) |
|
|
| Max supply | 2,800,000,000 AERE (capped at genesis-v2, 2026-05-07) |
|
|
| HTTP RPC | `https://rpc.aere.network` |
|
|
| WebSocket RPC | `wss://wss.aere.network` |
|
|
| Explorer (Blockscout) | `https://explorer.aere.network` |
|
|
| Indexer REST | `https://api.aere.network` |
|
|
|
|
## Genesis allocation (2,800,000,000 AERE)
|
|
|
|
| Wallet | Allocation | Address |
|
|
|---|---:|---|
|
|
| Strategic Investor | 100,000,000 | `0xaee2f3989f0AB23296Fa3b92247fe67587141311` |
|
|
| Foundation (chain admin) | 180,000,000 | `0x0243A4f47D44b40b65D33f20329dE20D00c6f3C3` |
|
|
| Mining Reserve | 1,400,000,000 | `0x038f59A40ceeCd599A4588E4B0ff4642a0fbfFB8` |
|
|
| Ecosystem Reserve | 560,000,000 | `0xB6a364F47d21DC2CbEB803565c111c1026e11C75` |
|
|
| Team Reserve | 420,000,000 | `0x7968C438204a78B4e032fcFFd9A56Edb15fdCCdf` |
|
|
| Airdrop Reserve | 140,000,000 | `0x261913fA73D6F109382F1aE98Ff6822ff03628B1` |
|
|
|
|
## Deployed contracts (16 — all owned by Foundation)
|
|
|
|
| Contract | Address | Purpose |
|
|
|---|---|---|
|
|
| WAERE | `0x7e84d7d66d5da4cfE46Da67CDEeB05B323e1f5e8` | Wrapped AERE (WETH9-style ERC-20) |
|
|
| AereTreasury | `0x687933AE7ea4927867AC227F1b60d476003e6119` | Timelocked foundation treasury |
|
|
| AereOracle | `0xf0A13823A4bFa86358Fe30aaf1f44A36AcbCf399` | Multi-reporter median price feed (BTC/USD + ETH/USD live) |
|
|
| AereIdentity | `0x658dD2CD1F798AAb19fEc8FF69A270B2d192CaD1` | DID registry, revocable attestor claims (Sumsub-backed KYC) |
|
|
| AereFaucet | `0xDdBe942aD9eB0F3E7C541BdCF7CC2cfA29d35aE4` | 0.05 AERE drip per 24h |
|
|
| AereCardEscrow | `0xD1f7f12830AdCFd1B7676C8460B9e30602b1f059` | Bank28 card-settlement escrow |
|
|
| AereSecurity | `0xaD305e4D91e0a9160Bd338Fd1ecb2Ee1645daC44` | Sanctions / pause module |
|
|
| AereStaking | `0xAbDb01d9A4f41792129b2654Fb6DDB9689360DEc` | Delegated staking · 8% APY · 7-day unbonding |
|
|
| AereConsensus | `0xF8bDDad4aDACF9d38711e8f9aFC8a2697aBF0d47` | QBFT validator bookkeeping |
|
|
| AereSwapFactory | `0xf0a8df7BDc25721892475B21271e52D77B0e84DC` | V2 AMM factory · 0.3% fee (router pending) |
|
|
| AereBridge | `0x7eDa66cd93baAE19530839Bbb28ee36aC8aFAd68` | Federated lock-and-release bridge (relayer pending) |
|
|
| AereMiningSubscription | `0xDad25d2163187DF8AAEcf9EA31b6355315Bb69f1` | 4-tier mining subscriptions (10/50/200/100 AERE per 30 days) |
|
|
| AereNFT | `0x3f9A9D9CAB005327869396C69bE226ef98039f1c` | ERC-721 + EIP-2981 royalties |
|
|
| AereNFTMarketplace | `0x852e07F2619F7F4aD10d9f2aC681310301d99528` | On-chain NFT marketplace · 2.5% protocol fee |
|
|
| AereGovernanceStaked | `0x8D77C888e439C4fADb2e23F1567a0A1965F80bCb` | Stake-weighted governance (reads voting power from AereStaking) |
|
|
| AereLockedStaking | `0x21108c28A849b05aE6b7a3a5bc435C9Bc897E7Ad` | Fixed-term locks: 30d/10%, 90d/15%, 180d/22%, 365d/30% APY |
|
|
|
|
## Install
|
|
|
|
```bash
|
|
npm i @aere/sdk ethers
|
|
```
|
|
|
|
## Quickstart
|
|
|
|
```ts
|
|
import { AERE_MAINNET } from '@aere/sdk/addresses';
|
|
import { ethers } from 'ethers';
|
|
|
|
const provider = new ethers.JsonRpcProvider(AERE_MAINNET.rpc);
|
|
|
|
// Read a balance
|
|
const bal = await provider.getBalance(AERE_MAINNET.Foundation);
|
|
console.log(ethers.formatEther(bal), 'AERE');
|
|
|
|
// Subscribe to incoming WAERE transfers for an address
|
|
const waere = new ethers.Contract(
|
|
AERE_MAINNET.WAERE,
|
|
['event Transfer(address indexed from, address indexed to, uint256 value)'],
|
|
provider,
|
|
);
|
|
waere.on('Transfer', (from, to, value) => {
|
|
if (to.toLowerCase() === '0xMyHotWallet'.toLowerCase()) {
|
|
console.log(`got ${ethers.formatEther(value)} WAERE from ${from}`);
|
|
}
|
|
});
|
|
|
|
// Stake 100 AERE in the 90-day locked staking tier (15% APY)
|
|
const signer = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
|
|
const locked = new ethers.Contract(
|
|
AERE_MAINNET.AereLockedStaking,
|
|
['function stake(uint8 tier) payable returns (uint256)'],
|
|
signer,
|
|
);
|
|
const tx = await locked.stake(1, { value: ethers.parseEther('100') });
|
|
await tx.wait();
|
|
```
|
|
|
|
## Roadmap (not in this release)
|
|
|
|
These are referenced in the AERE whitepaper but **NOT yet deployed on chain 2800**:
|
|
|
|
- DEX: `AereSwapRouter` + bridged stablecoin + initial WAERE liquidity pool
|
|
- Bridge: cross-chain relayer + counterparty contracts on Ethereum / BSC / Polygon
|
|
- Lending market (collateralised AERE / WAERE)
|
|
- Yield farm (LP rewards)
|
|
- AereVesting (on-chain vesting schedules for Team / Strategic allocations)
|
|
- AereInsurancePool, AereLaunchpad, AereAirdrop, AereSubscriptions
|
|
- AereNameService (`.aere` registry)
|
|
- ERC-4337 account abstraction stack (EntryPoint, SmartAccountFactory, Paymaster)
|
|
- Payment channels, Lightning channels, HTLC
|
|
- ZK rollups, Plasma child chains
|
|
- AereTravelRule (MiCA-compliant VASP transfer disclosures)
|
|
|
|
Each of these has an existing front-end shell on `aere.network` displaying a "coming soon" notice until the underlying contract ships.
|
|
|
|
## Architectural notes
|
|
|
|
- **Non-custodial.** End users hold their own keys. Consumer apps (e.g. Bank28) can use Privy / Magic / Web3Auth to provision wallets via email/social, then pass that signer into the SDK.
|
|
- **Fiat rails are out of scope.** AERE is the on-chain settlement layer; fiat IBANs / cards / SEPA come from a BaaS partner (Striga, Baanx, Kulipa, etc.).
|
|
- **Oracle is single-reporter today.** BTC/USD and ETH/USD feeds are pushed every 90s by a single reporter container. A second reporter is on the roadmap for redundancy.
|
|
- **3 validators today.** QBFT fault tolerance is `f=0` at this validator count — single failure halts the chain until the validator returns. A path to 5 validators (f=1) is staged.
|
|
- **AereBridge is 1-of-1 signer.** Multi-sig threshold expansion happens before any value flows.
|
|
|
|
## Source
|
|
|
|
- SDK source: <https://git.aere.network/aere-network/sdk-js>
|
|
- Contract source: <https://git.aere.network/aere-network/aerenew>
|
|
- Website source: <https://git.aere.network/aere-network/blocky-chain-forge>
|
|
|
|
## License
|
|
|
|
MIT
|