Walle.to Public API

Simple HTTPS endpoints that power wallet creation, balances, fees and sending.

Get started

Use the production base:

https://api.walle.to
# 1) Create a wallet curl -s -X POST "https://api.walle.to/api/wallet" \ -H "Content-Type: application/json" \ -d '{}' # → { "seedPhrase": "clutch ...", "address": "0x...", "index": 0 }
# 2) Check balances (by seed + index) curl -sG "https://api.walle.to/api/wallet" \ --data-urlencode "seedPhrase=<your seed>" \ --data-urlencode "index=0" # or by address: curl -sG "https://api.walle.to/api/wallet" --data-urlencode "address=0x..."
# 3) Send ETH curl -s -X POST "https://api.walle.to/api/send-eth" \ -H "Content-Type: application/json" \ -d '{ "seedPhrase":"<seed>","index":0,"to":"0x...","amountEth":"0.001" }'

Tip: In a browser, use fetch with Content-Type: application/json for POSTs and query strings for GETs.

Base URL

All endpoints live under:

https://api.walle.to

Conventions

  • seedPhrase: BIP‑39 mnemonic string (keep secret).
  • index: HD path m/44'/60'/0'/0/<index>. Default 0.
  • address: EVM checksum address 0x... for read‑only queries.
  • Amounts: amountEth is a decimal string (e.g. "0.001"); USDT amount uses 6 decimals (e.g. "1").
  • All endpoints return JSON; big integers are strings (e.g., wei).

Create wallet

Generate a new wallet with index 0.

POST /api/wallet Content-Type: application/json { "index": 0 }
200 OK { "seedPhrase": "...", "address": "0x...", "index": 0 }

Get balances

Read ETH and USDT balances for a derived address. Provide either seedPhrase (+ optional index) or an address.

GET /api/wallet?seedPhrase=...&index=0
200 OK { "address": "0x...", "ethBalanceWei": "12345", "usdtBalance": "67890", "index": 0 }

Portfolio (USD)

Fetch USD values and price source.

GET /api/wallet/portfolio?seedPhrase=...&index=0

Network fees

Get current gas price estimates.

GET /api/fees

Send ETH

POST /api/send-eth Content-Type: application/json { "seedPhrase": "...", "index": 0, "to": "0x...", "amountEth": "0.01" }

Send USDT

POST /api/send-usdt Content-Type: application/json { "seedPhrase": "...", "index": 0, "to": "0x...", "amount": "10" }

Errors

Validation errors use a simple shape:

{ "error": "message" }

Transfers may also include details like balance and required (in wei) when insufficient funds are detected.

Endpoint summary

  • POST /api/wallet — create wallet (seed + address)
  • GET /api/wallet — balances by seedPhrase/index or address
  • GET /api/wallet/portfolio — balances + USD values
  • GET /api/fees — current gas price metrics
  • POST /api/send-eth — send ETH
  • POST /api/send-usdt — send USDT

Interactive Swagger is available at /docs on the API server.

Note: The client is untrusted; never embed secrets in the browser. Use HTTPS, validate all inputs server‑side, and rate limit public endpoints.