Developer quickstart
sanect is EVM-compatible. Point any EVM tool at the RPC and ship — same Solidity, same ABIs, same toolchain, 400ms confirmations, 1 gwei min gas (a 21k-gas transfer costs ~0.000021 SNCT — essentially free). Need testnet SNCT? The staking dApp has an in-app faucet — connect MetaMask and claim 100 SNCT per address per 24h.
1. Add the network
Or add manually: Settings → Networks → Add network → Add a network manually:
Mainnet:
| Field | Value |
|---|---|
| Network name | sanect |
| New RPC URL | https://rpc.sanect.com/ |
| Chain ID | 7628 |
| Currency symbol | SNCT |
| Block explorer URL | https://scan.sanect.com |
Testnet:
| Field | Value |
|---|---|
| Network name | sanect testnet |
| New RPC URL | https://rpc.testnet.sanect.com/ |
| Chain ID | 76287 |
| Currency symbol | SNCT |
| Block explorer URL | https://scan.testnet.sanect.com |
Via code
typescript
// Mainnet
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: '0x1dcc',
chainName: 'sanect',
nativeCurrency: { name: 'sanect', symbol: 'SNCT', decimals: 18 },
rpcUrls: ['https://rpc.sanect.com/'],
blockExplorerUrls: ['https://scan.sanect.com']
}]
});
// Testnet
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: '0x129ef',
chainName: 'sanect testnet',
nativeCurrency: { name: 'sanect', symbol: 'SNCT', decimals: 18 },
rpcUrls: ['https://rpc.testnet.sanect.com/'],
blockExplorerUrls: ['https://scan.testnet.sanect.com']
}]
});2. Deploy with Foundry
bash
# Mainnet
forge create src/MyContract.sol:MyContract \
--rpc-url https://rpc.sanect.com/ \
--private-key $PK
# Testnet
forge create src/MyContract.sol:MyContract \
--rpc-url https://rpc.testnet.sanect.com/ \
--private-key $PK
# Same bytecode, same ABI — 400ms confirmationsVerify:
bash
forge verify-contract <address> src/MyContract.sol:MyContract \
--rpc-url https://rpc.sanect.com/ \
--verifier blockscout \
--verifier-url https://scan.sanect.com/api3. Deploy with Hardhat
javascript
// hardhat.config.js
module.exports = {
networks: {
sanect: {
url: "https://rpc.sanect.com/",
chainId: 7628,
accounts: [process.env.PK]
},
sanectTestnet: {
url: "https://rpc.testnet.sanect.com/",
chainId: 76287,
accounts: [process.env.PK]
}
}
}bash
npx hardhat run scripts/deploy.js --network sanect # mainnet
npx hardhat run scripts/deploy.js --network sanectTestnet # testnet4. Use ethers / viem
typescript
import { JsonRpcProvider } from "ethers";
// Mainnet
const provider = new JsonRpcProvider("https://rpc.sanect.com/");
// Testnet
const testnetProvider = new JsonRpcProvider("https://rpc.testnet.sanect.com/");
const block = await provider.getBlockNumber();typescript
import { createPublicClient, http } from "viem";
import { defineChain } from "viem";
const sanect = defineChain({
id: 7628,
name: "sanect",
nativeCurrency: { name: "sanect", symbol: "SNCT", decimals: 18 },
rpcUrls: { default: { http: ["https://rpc.sanect.com/"] } },
blockExplorers: { default: { name: "Blockscout", url: "https://scan.sanect.com" } }
});
const sanectTestnet = defineChain({
id: 76287,
name: "sanect testnet",
nativeCurrency: { name: "sanect", symbol: "SNCT", decimals: 18 },
rpcUrls: { default: { http: ["https://rpc.testnet.sanect.com/"] } },
blockExplorers: { default: { name: "Blockscout", url: "https://scan.testnet.sanect.com" } }
});
const client = createPublicClient({ chain: sanect, transport: http() });5. Call Cosmos features from Solidity
Staking, rewards, governance, and slashing are available as precompiles at fixed EVM addresses — callable from any wallet or contract.
See the Precompiles reference for full ABI examples.
Surfaces
| Surface | Testnet | Mainnet |
|---|---|---|
| Explorer | scan.testnet.sanect.com | scan.sanect.com |
| Staking dApp | app.testnet.sanect.com | app.sanect.com |
| DEX | swap.testnet.sanect.com | swap.sanect.com |
| EVM JSON-RPC | https://rpc.testnet.sanect.com/ | https://rpc.sanect.com/ |
| Cosmos REST | https://rpc.testnet.sanect.com/rest | https://rpc.sanect.com/rest |
| WebSocket | wss://rpc.testnet.sanect.com/ws | wss://rpc.sanect.com/ws |