Documentation Index
Fetch the complete documentation index at: https://docs.autheo.com/llms.txt
Use this file to discover all available pages before exploring further.
Autheo Chain runs a full Ethermint EVM derived from the Cronos codebase. A single eth_secp256k1 keypair controls both Cosmos and EVM transactions, and all standard Ethereum development tools work without modification.
JSON-RPC endpoints
| Port | Protocol | Default binding |
|---|
| 8545 | HTTP | 127.0.0.1 |
| 8546 | WebSocket | 127.0.0.1 |
Available namespaces:
| Namespace | Exposed publicly | Notes |
|---|
eth | Yes | Full Ethereum JSON-RPC |
net | Yes | Network info |
web3 | Yes | Client version |
autheo | Public RPC nodes only | Chain-specific extensions |
debug | No | Internal only |
personal | No | Internal only |
Never expose the debug or personal namespaces on public-facing nodes. Use a reverse proxy with TLS on ports 8545 and 8546 for any public RPC endpoint.
Address interoperability
Each account has three equivalent representations:
| Format | Example | Use |
|---|
| Cosmos Bech32 | autheo1abc... | Cosmos transactions, queries |
| Validator Bech32 | autheovaloper1abc... | Validator operations |
| Ethereum hex (EIP-55) | 0xAbCd... | EVM transactions, MetaMask |
autheod keys show <key-name> --keyring-backend file # Cosmos
autheod keys show <key-name> --bech val --keyring-backend file # Validator
autheod keys show <key-name> --bech eth --keyring-backend file # Ethereum hex
ERC-721 license minting hook
When Ethermint processes an ERC-721 Transfer event from a recognized contract, the x/license EVM hook fires synchronously:
- Identifies the contract category (Sovereign, Prime, or Core) from module parameters
- Maps the EVM recipient address to its Cosmos Bech32 equivalent
- Creates a
LicenseRecord with ISSUED status
- Deduplicates using
(originChain, originContract, tokenId) — returns ErrLicenseAlreadyMinted for duplicates
autheod query license params # View current contract addresses
| Tool | Configuration |
|---|
| MetaMask | RPC URL: http://localhost:8545, Chain ID: 785, Currency: THEO |
| ethers.js | new ethers.JsonRpcProvider("http://localhost:8545") |
| Hardhat | chainId: 785 in hardhat.config.js |
| Foundry | --rpc-url http://localhost:8545 --chain-id 785 |
Deploying contracts
ethers.js
Hardhat
Foundry
const provider = new ethers.JsonRpcProvider("http://localhost:8545");
const wallet = new ethers.Wallet(privateKey, provider);
const factory = new ethers.ContractFactory(abi, bytecode, wallet);
const contract = await factory.deploy();
// hardhat.config.js
networks: {
autheo: {
url: "http://localhost:8545",
chainId: 785,
accounts: [privateKey]
}
}
forge create --rpc-url http://localhost:8545 \
--private-key <private-key> \
src/MyContract.sol:MyContract