Holovate Frontier World
Enter World

Holovate

Coin service API reference

JSON over HTTPS, no API key for public reads, idempotent writes, and a public audit trail. Everything the Holovate frontend uses is documented here.

Last updated: 17 July 2026

The Holovate coin service is a small JSON-over-HTTPS API that powers wallets, the HVC ledger, land purchases, and DApp Studio reservations. Public endpoints require no API key.

Conventions

  • Base URL: https://holovate.space — all API routes live under /api/, plus GET /health.
  • Format: JSON requests and responses (Content-Type: application/json). Request bodies over 1 MB are rejected.
  • Wallets: EVM-style 0x + 40 hex characters. Addresses are normalized to lowercase.
  • Amounts: positive numbers, rounded to 6 decimal places.
  • Land ids: HV-001 through HV-096.
  • Idempotency: mutating endpoints honor an Idempotency-Key header; identical retries return the original result.
  • Errors: non-2xx responses carry {"error": {"code", "message", "details"}}.

Core endpoints

EndpointDescription
GET /healthService liveness, token symbol, and current ledger state hash.
GET /api/coin/metaToken configuration, wallet count, transaction count, state hash.
POST /api/walletsCreate or update a wallet profile. Body: {wallet, name?, email?}. First sync pays the 3,200 HVC grant.
GET /api/wallets/:walletWallet balance, nonce, and owned lands.
POST /api/transactions/faucetClaim the 220 HVC daily faucet. Once per calendar day per wallet.
POST /api/transactions/transferMove HVC between ledger wallets. Body: {from, to, amount, memo?}.
POST /api/transactions/purchase-landBuy a parcel. Body: {wallet, landId, price?}. Price is validated against the catalog; already-owned land is rejected.
POST /api/services/reserveReserve a DApp Studio build. Body: {wallet, services: [ids]}. Creates a proposal — no payment.
GET /api/transactions?wallet=0x...&limit=50Recent ledger transactions, optionally filtered by wallet (max 200).
GET /api/ledger/auditPublic audit: state hash and wallet/land/transaction/proposal counts.
# Inspect the ledger audit trail
curl -s https://holovate.space/api/ledger/audit

# Read a wallet
curl -s https://holovate.space/api/wallets/0x1111111111111111111111111111111111111111

# Claim the daily faucet (idempotent)
curl -s -X POST https://holovate.space/api/transactions/faucet \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: demo-2026-07-17" \
  -d '{"wallet":"0x1111111111111111111111111111111111111111"}'

Catalog endpoints

EndpointDescription
GET /api/parcelsThe full 96-parcel catalog — id, district, biome, price, premium flag, and current ownership status.
GET /api/servicesThe DApp Studio service catalog with USD estimates and HVC credits.

Catalog endpoints ship with the current backend release; older deployments answer 404 not_found for them.

Mainnet plan endpoints

These endpoints are non-custodial: they only return unsigned transaction plans and recorded hashes. The service never holds keys and never submits transactions. Plan endpoints answer 409 contract_not_configured until operators configure a verified contract registry — no HVC contract is live on any public chain today.

EndpointDescription
GET /api/mainnet/config?network=baseNetwork profile, configured contract addresses (if any), and ABIs.
GET /api/mainnet/readinessPer-network readiness: which of the five EVM profiles have a full contract set configured.
POST /api/mainnet/intents/land-purchaseUnsigned approval + purchase plan for a parcel, priced from the catalog.
POST /api/mainnet/intents/hvc-transferUnsigned ERC-20 transfer plan.
POST /api/mainnet/transactions/registerRecord a user-submitted transaction hash for bookkeeping.
GET /api/mainnet/transactions?wallet=0x...Recorded mainnet transaction hashes.

Error codes

CodeHTTPMeaning
wallet_required / wallet_invalid400Missing or malformed wallet address.
amount_invalid400Amount is not a positive number.
land_invalid400Land id is not in the HV-001HV-096 range.
services_required400No valid service ids supplied to a reservation.
json_invalid400Request body is not valid JSON.
faucet_claimed409Daily faucet already claimed today.
insufficient_hvc409Balance too low for the requested amount.
land_owned409Parcel already has an owner.
price_mismatch409Submitted price differs from the catalog price.
contract_not_configured409Mainnet contracts are not configured for that network.
payload_too_large413Body exceeded 1 MB.
not_found404Unknown endpoint or wallet.

Questions or integration help: admin@holovate.space.