Dotwork
Layers

RPC and chain settings

Every layer answers JSON-RPC at https://<site>/rpc/<slug>, single or batched, with CORS open. A GET on the same URL returns the parameters for wallet_addEthereumChain.

Allowed methods

eth_chainId, eth_blockNumber, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory, eth_sendRawTransaction, eth_getTransactionByHash, eth_getTransactionReceipt, eth_getBlockByNumber, eth_getBlockByHash, eth_getLogs, eth_syncing, eth_accounts, net_version, net_listening, web3_clientVersion and the block transaction lookups. Everything else returns an error.

Gas

The base fee is zero. Each layer has a minimum gas price (1 gwei by default) returned by eth_gasPrice and eth_maxPriorityFeePerGas; raw transactions priced below it are refused. At 1 gwei, a simple transfer costs 0.000021 of the gas token.

Wallets and tools

// viem
import { defineChain, createPublicClient, http } from "viem";
const house = defineChain({
  id: 4663101, name: "Dotwork House",
  nativeCurrency: { name: "USDG", symbol: "USDG", decimals: 18 },
  rpcUrls: { default: { http: ["https://<site>/rpc/house"] } },
});
const client = createPublicClient({ chain: house, transport: http() });

Hardhat: add a network with the URL and the chain id. MetaMask and Rabby: use Add to wallet on the layer's explorer page. Remix: choose an injected provider after adding the network to your wallet.

NextBridge and trust model ›