Ethereum support
Current Ethereum API coverage and the indexed-data work still required.
Ethereum support uses the same chain-scoped REST shape as Solana:
https://api.sarg.am/v1/ethereum
https://api.sarg.am/v1/ethereum-sepoliaConfigure upstream RPC with ETHEREUM_RPC_URL and
ETHEREUM_SEPOLIA_RPC_URL. If unset, local development falls back to public
Ethereum RPC endpoints.
Implemented routes
| Method | Path | Status |
|---|---|---|
| GET | /wallets/{address}/balance | Native ETH balance via eth_getBalance |
| GET | /accounts/{address} | Balance, nonce, and contract-code presence |
| POST | /accounts/batch | Up to 100 ETH balances |
| GET | /tokens/{contract} | ERC-20 metadata and total supply |
| GET | /transactions/{hash} | Transaction plus receipt when available |
| GET | /transactions/{hash}/status | Submitted, confirmed, or failed |
| POST | /transactions/simulate | eth_call plus gas estimate |
| POST | /transactions/send | Signed raw transaction submission |
| GET | /network/status | Chain ID, block number, client version, sync status |
| GET | /network/fees | Gas price, base fee, and priority-fee samples |
| POST | /network/fees/estimate | Gas estimate for a transaction request |
Indexed-data gaps
Plain Ethereum execution RPC can read account state and individual historical objects, but it does not provide wallet token inventories, NFT inventories, collection floor prices, or full holder lists as direct node methods.
Those endpoints need one of these backends:
- A Mainly-owned indexer built from
eth_getLogsover ERC-20, ERC-721, and ERC-1155 transfer events. - A provider API that already indexes token and NFT ownership.
Until that layer exists, these Solana routes are intentionally not exposed on Ethereum:
| Path | Reason |
|---|---|
/wallets/{address}/tokens | Requires indexed ERC-20 transfer history or provider balances API |
/wallets/{address}/nfts | Requires indexed ERC-721/ERC-1155 ownership |
/wallets/{address}/transactions | Address history is not a standard execution RPC method |
/tokens/{contract}/holders | Requires token-holder index |
/nfts/{id} | Ethereum NFT identity is {contract, tokenId}, not one address |
/collections/{address} | Requires NFT collection metadata and market data |
/programs/* | Solana-specific concept; Ethereum equivalent is contract/account inspection |