Skip to main content

Quickstart

Get up and running on Specter testnet in under 5 minutes. You'll add the network to MetaMask, get test GHOST from the faucet, and deploy a smart contract.

1. Add Specter to MetaMask

Open MetaMask and add a custom network with these settings:

FieldValue
Network NameSpecter Testnet
RPC URLhttps://testnet.specterchain.com
Chain ID5445
Currency SymbolGHOST
Block Explorerhttps://explorer.specterchain.com

Or add it programmatically from your dApp:

await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: '0x1545', // 5445 in hex
chainName: 'Specter Testnet',
nativeCurrency: { name: 'GHOST', symbol: 'GHOST', decimals: 18 },
rpcUrls: ['https://testnet.specterchain.com'],
blockExplorerUrls: ['https://explorer.specterchain.com'],
}],
});

2. Get testnet GHOST

Request test tokens from the faucet:

curl -X POST https://relayer.specterchain.com/api/faucet/claim \
-H "Content-Type: application/json" \
-d '{"address": "0xYOUR_ADDRESS_HERE"}'

The faucet distributes 100 GHOST per address (one claim per address).

Check your claim status:

curl "https://relayer.specterchain.com/api/faucet/status?address=0xYOUR_ADDRESS_HERE"

3. Deploy a contract with Foundry

Install Foundry

curl -L https://foundry.paradigm.xyz | bash
foundryup

Create a project

forge init hello-specter
cd hello-specter

Deploy

forge create src/Counter.sol:Counter \
--rpc-url https://testnet.specterchain.com \
--chain-id 5445 \
--private-key $PRIVATE_KEY
warning

Never use a private key with real funds for testnet. Create a dedicated testnet wallet.

Interact with your contract

# Read a value
cast call $CONTRACT_ADDRESS "number()(uint256)" \
--rpc-url https://testnet.specterchain.com

# Send a transaction
cast send $CONTRACT_ADDRESS "increment()" \
--rpc-url https://testnet.specterchain.com \
--chain-id 5445 \
--private-key $PRIVATE_KEY

4. Verify it works

Check the transaction on the block explorer:

cast receipt $TX_HASH --rpc-url https://testnet.specterchain.com

Next steps