diff --git a/index.ts b/index.ts
index e75e123a9b56dc0275a81c8a91749654039f2230..4873489262ee9e0e14045e02642ace2653788e26 100644
--- a/index.ts
+++ b/index.ts
@@ -1,24 +1,15 @@
 import { Command } from 'commander';
 import chalk from 'chalk';
 import { createInterface } from 'readline';
-
+import fs from "fs";
 import { TezosToolkit } from '@taquito/taquito';
+import { InMemorySigner } from '@taquito/signer';
+import figlet from 'figlet';
 
-const tezos = new TezosToolkit('https://rpc.tezos.org');
+const tezos = new TezosToolkit('https://ghostnet.tezos.marigold.dev');
 
 const program = new Command();
 
-async function getAssociations() {
-  // Logic to fetch associations from Tezos blockchain
-  // Example: const storage = await tezos.contract.at('<contract_address>').storage();
-  // Example: const associations = storage.associations;
-  // Return an array of association objects
-  return [
-    { name: 'Association 1', description: 'Description de l\'association 1' },
-    { name: 'Association 2', description: 'Description de l\'association 2' }
-  ];
-}
-
 async function askQuestion(question: string): Promise<string> {
   const readline = createInterface({
     input: process.stdin,
@@ -33,19 +24,88 @@ async function askQuestion(question: string): Promise<string> {
   });
 }
 
+
+program
+  .option('-f, --file <filePath>', 'Chemin du fichier JSON du portefeuille')
+  .parse(process.argv);
+
+if (!program.args) {
+  console.error('Erreur: Veuillez spécifier le chemin du fichier JSON du portefeuille avec l\'option -f');
+  process.exit(1);
+}
+
+// Charger le fichier JSON du portefeuille
+const walletData = JSON.parse(fs.readFileSync(program.args[0], 'utf8'));
+
+const signer = new InMemorySigner(walletData.privateKey);
+tezos.setProvider({ signer });
+
+async function getBalance(privateKey) {
+  try {
+    // Obtenez le solde du portefeuille associé à la clé privée
+    const balance = await tezos.tz.getBalance(await tezos.signer.publicKeyHash());
+    console.log(`\nSolde du portefeuille: ${balance.toNumber() / 1000000} ꜩ\n`);
+  } catch (error) {
+    console.error('Erreur lors de la récupération du solde:', error);
+  }
+}
+
 program
   .action(async () => {
-    console.log(chalk.green("Bienvenue sur MyAsso\n"));
+    await figlet.text(
+      "My Asso",
+      {
+        font: "Big Money-nw",
+        horizontalLayout: "default",
+        verticalLayout: "default",
+        width: 80,
+        whitespaceBreak: true,
+      },
+      function (err, data) {
+        if (err) {
+          console.log("Something went wrong...");
+          console.dir(err);
+          return;
+        }
+        console.log(data);
+      }
+    );
+
+    console.log(`\n`);
+
+    while (true) {
+      // IF ADMIN
+      const choice = await askQuestion(`${chalk.yellow('Que souhaitez-vous faire ?')} \n\n1: Créer une association\n2: Créer un token\n3: Voir mon portefeuille\n0: Quitter\n`);
+
+      if (choice === '0') {
+        break;
+      }
+      
+      if (choice === '1') {
+        const name = await askQuestion(chalk.yellow('Nom: '));
+        const description = await askQuestion(chalk.yellow('Description: '));
+        const association = {
+          name: name,
+          description: description
+        };
+
+        console.log(chalk.green("\nVotre association a été crée !!\n"));
+        // Faire l'appel a create association
+      } else if (choice === '2') {
+        const nbTokenFungible = await askQuestion(chalk.yellow('Nombre de token fongible: '));
+        // Faire le call pour créer un token
+        console.log(chalk.green("\nVotre token a été créé !!\n"));
+      } else if (choice === '3') {
+        await getBalance(walletData.privateKey);
+      } else {
+        console.log('Choix invalide');
+      }
+
+      // IF ADHERENT
 
-    const choice = await askQuestion('Que souhaitez-vous faire ?\n1: Se connecter\n2: Lister les associations\n');
+      // IF CONNECTE
 
-    if (choice === '1') {
-      console.log('login');
-    } else if (choice === '2') {
-      console.log('list association');
-    } else {
-      console.log('Choix invalide');
     }
   });
   
-  program.parse(process.argv);
\ No newline at end of file
+  program.parse(process.argv);
diff --git a/package-lock.json b/package-lock.json
index 54742334e46db77ca9d591f954fe76be8c416bee..40f1ef3213761628dd1e76df9bde4420c9a263eb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,10 +9,12 @@
       "version": "1.0.0",
       "license": "MIT",
       "dependencies": {
+        "@taquito/signer": "^19.1.0",
         "@taquito/taquito": "^19.1.0",
         "@types/chalk": "^2.2.0",
         "chalk": "^5.3.0",
         "commander": "^12.0.0",
+        "figlet": "^1.7.0",
         "ts-node": "^10.9.2"
       },
       "devDependencies": {
@@ -82,6 +84,16 @@
         "@stablelib/wipe": "^1.0.1"
       }
     },
+    "node_modules/@stablelib/bytes": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz",
+      "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ=="
+    },
+    "node_modules/@stablelib/constant-time": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz",
+      "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg=="
+    },
     "node_modules/@stablelib/ed25519": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz",
@@ -97,11 +109,61 @@
       "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz",
       "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg=="
     },
+    "node_modules/@stablelib/hmac": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz",
+      "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==",
+      "dependencies": {
+        "@stablelib/constant-time": "^1.0.1",
+        "@stablelib/hash": "^1.0.1",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
     "node_modules/@stablelib/int": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz",
       "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w=="
     },
+    "node_modules/@stablelib/keyagreement": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz",
+      "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==",
+      "dependencies": {
+        "@stablelib/bytes": "^1.0.1"
+      }
+    },
+    "node_modules/@stablelib/nacl": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@stablelib/nacl/-/nacl-1.0.4.tgz",
+      "integrity": "sha512-PJ2U/MrkXSKUM8C4qFs87WeCNxri7KQwR8Cdwm9q2sweGuAtTvOJGuW0F3N+zn+ySLPJA98SYWSSpogMJ1gCmw==",
+      "dependencies": {
+        "@stablelib/poly1305": "^1.0.1",
+        "@stablelib/random": "^1.0.2",
+        "@stablelib/wipe": "^1.0.1",
+        "@stablelib/x25519": "^1.0.3",
+        "@stablelib/xsalsa20": "^1.0.2"
+      }
+    },
+    "node_modules/@stablelib/pbkdf2": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/pbkdf2/-/pbkdf2-1.0.1.tgz",
+      "integrity": "sha512-d5jwK6jW1DkMyzqY8D1Io+fRXcsUVr95lk5LKX9ghaUdAITTc1ZL0bff+R0IrwSixbHluxhnivG7vDw59AZ/Nw==",
+      "dependencies": {
+        "@stablelib/binary": "^1.0.1",
+        "@stablelib/hash": "^1.0.1",
+        "@stablelib/hmac": "^1.0.1",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
+    "node_modules/@stablelib/poly1305": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz",
+      "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==",
+      "dependencies": {
+        "@stablelib/constant-time": "^1.0.1",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
     "node_modules/@stablelib/random": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz",
@@ -111,6 +173,16 @@
         "@stablelib/wipe": "^1.0.1"
       }
     },
+    "node_modules/@stablelib/salsa20": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@stablelib/salsa20/-/salsa20-1.0.2.tgz",
+      "integrity": "sha512-nfjKzw0KTKrrKBasEP+j7UP4I8Xudom8lVZIBCp0kQNARXq72IlSic0oabg2FC1NU68L4RdHrNJDd8bFwrphYA==",
+      "dependencies": {
+        "@stablelib/binary": "^1.0.1",
+        "@stablelib/constant-time": "^1.0.1",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
     "node_modules/@stablelib/sha512": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz",
@@ -126,6 +198,26 @@
       "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz",
       "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg=="
     },
+    "node_modules/@stablelib/x25519": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz",
+      "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==",
+      "dependencies": {
+        "@stablelib/keyagreement": "^1.0.1",
+        "@stablelib/random": "^1.0.2",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
+    "node_modules/@stablelib/xsalsa20": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@stablelib/xsalsa20/-/xsalsa20-1.0.2.tgz",
+      "integrity": "sha512-7XdBGbcNgBShmuhDXv1G1WPVCkjZdkb1oPMzSidO7Fve0MHntH6TjFkj5bfLI+aRE+61weO076vYpP/jmaAYog==",
+      "dependencies": {
+        "@stablelib/binary": "^1.0.1",
+        "@stablelib/salsa20": "^1.0.2",
+        "@stablelib/wipe": "^1.0.1"
+      }
+    },
     "node_modules/@taquito/core": {
       "version": "19.1.0",
       "resolved": "https://registry.npmjs.org/@taquito/core/-/core-19.1.0.tgz",
@@ -202,6 +294,30 @@
         "node": ">=18"
       }
     },
+    "node_modules/@taquito/signer": {
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@taquito/signer/-/signer-19.1.0.tgz",
+      "integrity": "sha512-JKaf+qh2NlJQG6184zvYYzWYnWIh1ffG1BV6PfS72aXM3963tOJ6YyRr5aPRrjrvIKHI+WPXIuXE4uZMZKTnIw==",
+      "dependencies": {
+        "@stablelib/blake2b": "^1.0.1",
+        "@stablelib/ed25519": "^1.0.3",
+        "@stablelib/hmac": "^1.0.1",
+        "@stablelib/nacl": "^1.0.4",
+        "@stablelib/pbkdf2": "^1.0.1",
+        "@stablelib/sha512": "^1.0.1",
+        "@taquito/core": "^19.1.0",
+        "@taquito/taquito": "^19.1.0",
+        "@taquito/utils": "^19.1.0",
+        "@types/bn.js": "^5.1.2",
+        "bip39": "3.1.0",
+        "elliptic": "^6.5.4",
+        "pbkdf2": "^3.1.2",
+        "typedarray-to-buffer": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/@taquito/taquito": {
       "version": "19.1.0",
       "resolved": "https://registry.npmjs.org/@taquito/taquito/-/taquito-19.1.0.tgz",
@@ -262,6 +378,14 @@
       "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
       "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
     },
+    "node_modules/@types/bn.js": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz",
+      "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
     "node_modules/@types/bs58check": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/@types/bs58check/-/bs58check-2.1.2.tgz",
@@ -353,6 +477,14 @@
         "node": "*"
       }
     },
+    "node_modules/bip39": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz",
+      "integrity": "sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==",
+      "dependencies": {
+        "@noble/hashes": "^1.2.0"
+      }
+    },
     "node_modules/blakejs": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz",
@@ -419,6 +551,15 @@
         "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
+    "node_modules/cipher-base": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
     "node_modules/commander": {
       "version": "12.0.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz",
@@ -427,6 +568,31 @@
         "node": ">=18"
       }
     },
+    "node_modules/create-hash": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+      "dependencies": {
+        "cipher-base": "^1.0.1",
+        "inherits": "^2.0.1",
+        "md5.js": "^1.3.4",
+        "ripemd160": "^2.0.1",
+        "sha.js": "^2.4.0"
+      }
+    },
+    "node_modules/create-hmac": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+      "dependencies": {
+        "cipher-base": "^1.0.3",
+        "create-hash": "^1.1.0",
+        "inherits": "^2.0.1",
+        "ripemd160": "^2.0.0",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      }
+    },
     "node_modules/create-require": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
@@ -459,6 +625,30 @@
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
       "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
     },
+    "node_modules/figlet": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.7.0.tgz",
+      "integrity": "sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==",
+      "bin": {
+        "figlet": "bin/index.js"
+      },
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/hash-base": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
+      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+      "dependencies": {
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.6.0",
+        "safe-buffer": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/hash.js": {
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
@@ -512,6 +702,16 @@
       "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
       "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
     },
+    "node_modules/md5.js": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+      "dependencies": {
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
     "node_modules/minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -541,6 +741,43 @@
         }
       }
     },
+    "node_modules/pbkdf2": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
+      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
+      "dependencies": {
+        "create-hash": "^1.1.2",
+        "create-hmac": "^1.1.4",
+        "ripemd160": "^2.0.1",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      },
+      "engines": {
+        "node": ">=0.12"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/ripemd160": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+      "dependencies": {
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1"
+      }
+    },
     "node_modules/rxjs": {
       "version": "7.8.1",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
@@ -549,6 +786,45 @@
         "tslib": "^2.1.0"
       }
     },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/sha.js": {
+      "version": "2.4.11",
+      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      },
+      "bin": {
+        "sha.js": "bin.js"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
     "node_modules/tr46": {
       "version": "0.0.3",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -638,6 +914,11 @@
       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
     },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+    },
     "node_modules/v8-compile-cache-lib": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
diff --git a/package.json b/package.json
index b209ad756cacb812172528cbd676cabb20751833..ea38c72560cb6bce0f805a35a0e8ffe5108f9a00 100644
--- a/package.json
+++ b/package.json
@@ -10,10 +10,12 @@
   "author": "M2 Miage",
   "license": "MIT",
   "dependencies": {
+    "@taquito/signer": "^19.1.0",
     "@taquito/taquito": "^19.1.0",
     "@types/chalk": "^2.2.0",
     "chalk": "^5.3.0",
     "commander": "^12.0.0",
+    "figlet": "^1.7.0",
     "ts-node": "^10.9.2"
   },
   "devDependencies": {
diff --git a/test.json b/test.json
new file mode 100644
index 0000000000000000000000000000000000000000..196c066b7466189ecdeafdb799c7bfec52e1c2ea
--- /dev/null
+++ b/test.json
@@ -0,0 +1,3 @@
+{
+    "privateKey": "edskS6JyjeNXxPYE1gVmdhjriCZN3Z41BDCGY4YcuR9TbzgNq1mmMrYHU5TJ7VaM4v9MdnZCUJ6TvL11KCz6FSz2T6UirHmfyz"
+}
\ No newline at end of file