Skip to main content

Supported chains

Mandate supports 4 EVM chains: 2 mainnets and 2 testnets. Your runtime key prefix determines which chains you can use.

Test vs live keys

Runtime keys use prefixes to enforce environment separation:
  • mndt_test_* keys work with testnet chains (Sepolia, Base Sepolia). Use these for development and testing. Testnet usage is free.
  • mndt_live_* keys work with mainnet chains (Ethereum, Base). Use these for production deployments.
A test key cannot validate transactions on mainnet. A live key cannot validate transactions on testnet. This prevents accidental production transactions during development.

SDK constants

The SDK exports chain and token constants so you avoid hardcoding addresses:

Default RPCs

When using MandateWallet, you can specify a custom RPC URL in the configuration. If you do not, the SDK uses public default RPCs:
For production use, configure a dedicated RPC provider (Alchemy, Infura, QuickNode) to avoid rate limits and improve reliability.

Getting started on testnet

The fastest way to test Mandate is with a mndt_test_* key on Base Sepolia:
  1. Register an agent using mandate login --name "TestAgent" --address 0xYourAddress.
  2. Fund your test wallet with Base Sepolia ETH and test USDC from a faucet.
  3. Validate a transaction: mandate validate --action transfer --reason "Test payment" --amount 1 --to 0xRecipient.
No real funds are at risk. Testnet validation behaves identically to mainnet, including all 14 policy checks.

Next Steps

SDK Constants

Full reference for all exported constants in the SDK.

Credential Management

Store and rotate runtime keys securely.