Environments
| Environment | Base URL |
|---|---|
| Mainnet | https://deposit-addresses.eco.com |
| Preproduction (testnet) | https://deposit-addresses-preproduction.eco.com |
{ "data": ... } unless otherwise noted.
Endpoint summary
| Method | Path | Purpose |
|---|---|---|
| POST | /api/v1/depositAddresses/solana | Generate a Solana deposit address |
| POST | /api/v1/depositAddresses | Legacy alias for /solana (deprecated) |
| GET | /api/v1/depositAddresses/evmAddress/{evmAddress} | Get deposit address record |
| GET | /api/v1/depositAddresses/query | Query deposit addresses |
| POST | /api/v1/intents/intentStatus | Get intent status |
| GET | /api/v1/intents/query | Query intents with filters |
| GET | /api/v1/intents/intentExists | Race-safe existence check for an intent |
Generate Solana deposit address
201 Created. Same inputs always return the same evmDepositAddress.
| Field | Type | Description |
|---|---|---|
chainId | number | Source chain ID (Base 8453 today) |
solanaAddress | string | Solana destination (base58, 32-44 chars) |
depositor | string | EVM address authorized for refunds if the intent expires |
Legacy endpoint (deprecated)
/solana. New integrations should use /solana.
Get deposit address
isDeployed, lastCheckedBalance, lastBlockNumber, and deploymentTxHash once the contract has been deployed.
Query deposit addresses
chainId, factoryAddress, solanaAddress (hex), depositor, evmDepositAddress, isDeployed.
Intents
Get intent status
intentHash, intentCreatedHash, or fulfillmentHash. Limited to 100 results.
Query intents
chainId, depositAddress, solanaAddress, intentHash, txHash, fulfilledTxHash, status.
Intent exists
true/false. Supplying txHash enables a race-safe lookup.
Validation rules
solanaAddress: base58, 32-44 chars, matching^[1-9A-HJ-NP-Za-km-z]{32,44}$- EVM addresses: must pass
isEthereumAddress(EIP-55 / lowercase hex) chainId: integer >= 1
