/api/v1. Both surfaces drive the same
backend, and every on-chain action executes for real on the environment’s
ledger: Ethereum Sepolia (chain ID 11155111) during development, with a
Mainnet deployment to follow.
The full sandbox journey: from provisioning to programmatic money movement.
The building blocks
Two rails, one API
Money in the sandbox lives on two rails that stay 1:1 with each other:Public rail
The test stablecoin, a standard ERC-20. Balances and transfer amounts are
visible to anyone on a block explorer, exactly like production stablecoins.
Confidential rail
cAROUSD, an ERC-7984 confidential token. Amounts are encrypted with fully
homomorphic encryption (FHE), so the chain records that value moved, never
how much.
The dashboard is an API client
Every dashboard feature (funding, minting, transfers, receipts, settings) calls the same/api/v1 endpoints you integrate against. That has two
practical consequences:
- Parity is guaranteed. If the UI can do it, your integration can do it with the same request shapes.
- You can mix surfaces freely. Kick off a mint from a script, watch it confirm in the dashboard, download the receipt from either.
The operator
The operator is a platform-owned wallet that does the work your integration shouldn’t have to:- pays out faucet requests (test stablecoin + a gas top-up),
- mints cAROUSD in float mode,
- settles redemptions by paying stablecoin back to your wallet.
faucet_failed, redeem_settlement_failed);
see Troubleshooting.
Mint modes: backed vs. float
Deployments run in one of two mint modes. The API is identical in both; only the on-chain mechanics differ.Which mode your deployment uses is an operational setting. In
backed mode a
mint requires the custodial wallet to actually hold stablecoin; in float mode
the operator mints directly. Either way you call POST /mint.Server-side FHE
Confidential operations (encrypting mint amounts, decrypting custodial balances, publicly decrypting redeem burns) run server-side through the Zama Protocol relayer against its public Sepolia deployment. Two things follow:- You never handle FHE keys or ciphertexts. The API takes and returns plain decimal strings.
- The first confidential call after a deployment restart can be slower while FHE keys are fetched. Subsequent calls are faster.
Host isolation
The sandbox runs on its own hosts (aropay.aro.media). Sandbox routes only
resolve there, and admin routes 404 on sandbox hosts; the two surfaces are
isolated at the proxy layer.