Variables d'environnement¶
Toutes les stratégies s'exécutent à travers le sidecar passerelle (démarré automatiquement par almanak strat run). La passerelle détient les secrets, fournit l'accès RPC et exécute les transactions.
Créez un fichier .env dans le répertoire de votre stratégie avec les variables ci-dessous.
Obligatoires¶
Ces variables doivent être définies avant d'exécuter toute stratégie.
| Variable | Description | Exemple |
|---|---|---|
ALMANAK_PRIVATE_KEY |
Clé privée du portefeuille pour signer les transactions et dériver l'adresse du portefeuille | 0x4c0883a6... |
Accès RPC (recommandé ; RPCs publics gratuits utilisés si non défini)¶
| Variable | Priorité | Description | Exemple |
|---|---|---|---|
ALMANAK_{CHAIN}_RPC_URL |
1 (plus haute) | URL RPC par chaîne avec préfixe ALMANAK | https://arb-mainnet.infura.io/v3/KEY |
{CHAIN}_RPC_URL |
2 | URL RPC par chaîne (ex : ARBITRUM_RPC_URL) |
https://arb-mainnet.infura.io/v3/KEY |
ALMANAK_RPC_URL |
3 | URL RPC générique pour toutes les chaînes | https://your-rpc.com/v1/KEY |
RPC_URL |
4 | URL RPC générique simple | https://your-rpc.com/v1/KEY |
ALCHEMY_API_KEY |
5 (secours) | Clé API Alchemy -- URLs construites automatiquement par chaîne | abc123def456 |
TENDERLY_API_KEY_{CHAIN} |
6 (secours) | Clé API Tenderly par chaîne (ex : TENDERLY_API_KEY_ARBITRUM) |
abc123... |
N'importe quel fournisseur fonctionne : Infura, QuickNode, auto-hébergé, Alchemy, etc. ALCHEMY_API_KEY est un secours optionnel qui construit automatiquement les URLs pour toutes les chaînes supportées. Si rien n'est défini, la passerelle utilise les RPCs publics gratuits (limités en débit, best-effort).
Warning
Ne commitez jamais de clés privées. Utilisez un portefeuille de test dédié pour le développement.
Note : La passerelle accepte aussi ALMANAK_GATEWAY_PRIVATE_KEY (avec son propre préfixe). Si définie, elle est prioritaire. Sinon, la passerelle utilise ALMANAK_PRIVATE_KEY -- vous n'avez besoin que d'une seule variable.
Clés API optionnelles¶
Définissez-les selon les protocoles et fonctionnalités utilisés par votre stratégie.
| Variable | Quand c'est nécessaire | Obtenir une clé |
|---|---|---|
ENSO_API_KEY |
Routage de swaps via l'agrégateur Enso Finance | enso.finance |
COINGECKO_API_KEY |
Améliore les limites de débit pour les données de prix (fonctionne sans clé) | coingecko.com/en/api |
ALMANAK_API_KEY |
Fonctionnalités de la plateforme : strat push, strat pull, déploiement |
app.almanak.co |
THEGRAPH_API_KEY |
Backtesting avec données de subgraphs (volumes DEX, APYs de prêt) | thegraph.com/studio |
Spécifiques aux protocoles¶
Nécessaires uniquement si votre stratégie utilise ces protocoles spécifiques.
Kraken¶
| Variable | Description |
|---|---|
KRAKEN_API_KEY |
Clé API Kraken (obtenir des identifiants) |
KRAKEN_API_SECRET |
Secret API Kraken |
Polymarket¶
| Variable | Description |
|---|---|
POLYMARKET_WALLET_ADDRESS |
Adresse du portefeuille Polymarket |
POLYMARKET_PRIVATE_KEY |
Clé de signature Polymarket |
POLYMARKET_API_KEY |
Clé API CLOB |
POLYMARKET_SECRET |
Secret HMAC |
POLYMARKET_PASSPHRASE |
Phrase secrète API |
Pendle¶
| Variable | Description |
|---|---|
ALMANAK_GATEWAY_PENDLE_API_KEY |
Clé API du protocole Pendle |
Portefeuille Safe¶
Pour les stratégies qui s'exécutent via un multisig Gnosis Safe.
| Variable | Description |
|---|---|
ALMANAK_GATEWAY_SAFE_ADDRESS |
Adresse du portefeuille Safe |
ALMANAK_GATEWAY_SAFE_MODE |
direct (Anvil/seuil-1) ou zodiac (production) |
ALMANAK_GATEWAY_ZODIAC_ROLES_ADDRESS |
Adresse du module Zodiac Roles (mode zodiac) |
ALMANAK_GATEWAY_SIGNER_SERVICE_URL |
URL du service de signature distant (mode zodiac) |
ALMANAK_GATEWAY_SIGNER_SERVICE_JWT |
JWT du signataire distant (mode zodiac) |
Backtesting¶
URLs RPC d'archive¶
Nécessaires pour les données historiques on-chain (prix Chainlink, calculs TWAP). Les nœuds RPC standard ne supportent pas les requêtes d'état historique. Utilisez des fournisseurs compatible archive comme Alchemy (payant), QuickNode ou Infura.
Modèle : ARCHIVE_RPC_URL_{CHAIN} (ex : ARCHIVE_RPC_URL_ARBITRUM, ARCHIVE_RPC_URL_ETHEREUM, ARCHIVE_RPC_URL_BASE, ARCHIVE_RPC_URL_OPTIMISM, ARCHIVE_RPC_URL_POLYGON, ARCHIVE_RPC_URL_AVALANCHE)
Clés API d'explorateurs de blocs¶
Optionnelles, pour les données historiques de prix du gas. Modèle : {EXPLORER}_API_KEY
| Variable | Explorateur |
|---|---|
ETHERSCAN_API_KEY |
etherscan.io |
ARBISCAN_API_KEY |
arbiscan.io |
BASESCAN_API_KEY |
basescan.org |
OPTIMISTIC_ETHERSCAN_API_KEY |
optimistic.etherscan.io |
POLYGONSCAN_API_KEY |
polygonscan.com |
SNOWTRACE_API_KEY |
snowtrace.io |
BSCSCAN_API_KEY |
bscscan.com |
.env de démarrage rapide¶
# Obligatoire
ALMANAK_PRIVATE_KEY=0xYOUR_PRIVATE_KEY
# Accès RPC (choisissez un)
RPC_URL=https://your-rpc-provider.com/v1/your-key
# ALCHEMY_API_KEY=your_alchemy_key # alternative : construit automatiquement les URLs par chaîne
# Recommandé
ENSO_API_KEY=your_enso_key
COINGECKO_API_KEY=your_coingecko_key
Tous les autres paramètres de la passerelle et du framework ont des valeurs par défaut raisonnables et n'ont pas besoin d'être définis. Consultez .env.example pour la liste complète des options avancées.