This is an example where the created wallet is not persisted by default. For more details, see the Wallet API documentation.
Copy
Ask AI
// Create a faucet request and return the transaction */const faucetTransaction = await wallet.faucet();// Wait for the faucet transaction to land onchain */await faucetTransaction.wait();console.log(`Faucet transaction successfully completed: ${faucetTransaction}`);console.log("Transaction hash:", faucetTransaction.getTransactionHash());// Check wallet balance console.log("Wallet balance after ETH faucet request:", await wallet.listBalances());
After running this example, you should see output similar to the following:
// Create a faucet request and return the transaction */const faucetTransaction = await wallet.faucet();// Wait for the faucet transaction to land onchain */await faucetTransaction.wait();console.log(`Faucet transaction successfully completed: ${faucetTransaction}`);console.log("Transaction hash:", faucetTransaction.getTransactionHash());// Check wallet balance console.log("Wallet balance after ETH faucet request:", await wallet.listBalances());
After running this example, you should see output similar to the following:
# Create a faucet request and return the transactionfaucet_transaction = wallet.faucet()# Or create a request using an address, i.e. `faucet_transaction = wallet.default_address.faucet()`# Wait for the faucet transaction to land onchain.faucet_transaction.wait()print(f"Faucet transaction successfully completed: {faucet_transaction}")# Retrieve the transaction hash for loggingfaucet_transaction.transaction_hash# Check wallet balanceprint("Wallet balance after faucet request:", wallet.balances());
After running this example, you should see output similar to the following:
# Create a faucet request and return the transactionfaucet_transaction_usdc = wallet.faucet(asset_id="usdc")faucet_transaction_cbbtc = wallet.faucet(asset_id="cbbtc")# Wait for the faucet transaction to land onchainfaucet_transaction_usdc.wait()faucet_transaction_cbbtc.wait()print("\nFaucet Transactions successfully completed:")print(f"\nUSDC Transaction: {faucet_transaction_usdc}")print(f"\ncbBTC Transaction: {faucet_transaction_cbbtc}")faucet_transaction_usdc.transaction_hashfaucet_transaction_cbbtc.transaction_hash# Check wallet balancesprint("Wallet balances after ERC-20 faucet request:", wallet.balances());
After running this example, you should see output similar to the following:
You can also bring your own wallet to claim faucet funds. Try the following to use an external address.
First, use your address to create an external address object, then wait for the faucet request to land onchain.
Copy
Ask AI
// Create external address object for your walletlet externalAddress = new ExternalAddress("base-sepolia", "0x...");// Check wallet balanceconsole.log("ETH balance before request:", await externalAddress.getBalance("eth"));// Create faucet request and wait for it to land onchainconst faucetTransactionExternal = await externalAddress.faucet("eth");faucetTransactionExternal.wait();
Copy
Ask AI
// Create external address object for your walletlet externalAddress = new ExternalAddress("base-sepolia", "0x...");// Check wallet balanceconsole.log("ETH balance before request:", await externalAddress.getBalance("eth"));// Create faucet request and wait for it to land onchainconst faucetTransactionExternal = await externalAddress.faucet("eth");faucetTransactionExternal.wait();
Copy
Ask AI
# Create external address object for your walletexternal_address = ExternalAddress("base-sepolia", "0x...")# Check current balanceprint("ETH balance before request:", external_address.balance("eth"))# Create faucet request and wait for it to land onchainfaucet_transaction = external_address.faucet("eth")faucet_transaction.wait()
Your transaction may take some time to complete. You can monitor it by checking its status:
Copy
Ask AI
while (true) { const status = await faucetTransactionExternal.getStatus(); console.log("Current Transaction Status:", status); // Check if complete if (status === "complete") { console.log("\nFaucet Transaction successfully completed:"); console.log(faucetTransactionExternal); break; } // Wait for 30 seconds before rechecking console.log("Transaction is not yet complete..."); await new Promise(resolve => setTimeout(resolve, 30000)); }// Check balance console.log("ETH balance after claim:", await externalAddress.getBalance("eth"));
Copy
Ask AI
while (true) { const status = await faucetTransactionExternal.getStatus(); console.log("Current Transaction Status:", status); // Check if complete if (status === "complete") { console.log("\nFaucet Transaction successfully completed:"); console.log(faucetTransactionExternal); break; } // Wait for 30 seconds before rechecking console.log("Transaction is not yet complete..."); await new Promise(resolve => setTimeout(resolve, 30000)); }// Check balance console.log("ETH balance after claim:", await externalAddress.getBalance("eth"));
Copy
Ask AI
while True: status = faucet_transaction.status print("Current Transaction Status:", status) # Check if complete if status == Transaction.Status.COMPLETE: print("\nFaucet Transaction successfully completed:") print(faucet_transaction) break print("Transaction is not yet complete...") # Wait for 30 seconds before rechecking time.sleep(30)# Check balance balance = external_address.balance("eth")print("ETH balance after claim:", balance)
After running this example, you should see output similar to the following: