canonical: https://jentic.com/apis/chaingateway.io/chaingateway

# Chaingateway.io

Chaingateway.io is a REST bridge between an Ethereum node and an application, exposing managed wallet addresses, ETH and ERC-20 token balances, send-funds operations, transaction history, and IPN-based webhook notifications when subscribed addresses receive funds. Account holders authenticate with an API key issued from chaingateway.io and call POST endpoints to import existing addresses or generate new ones, send ETH or tokens, query balances, and replay failed IPN deliveries.

## For AI agents

Generate Ethereum addresses, send ETH and ERC-20 tokens, read balances and transactions, and manage IPN webhook subscriptions through Chaingateway's hosted Ethereum bridge.

## Scope

Does not custody non-Ethereum chains, run smart-contract simulation, or provide on-chain analytics - use for hosted Ethereum wallet, ERC-20 transfer, and IPN webhook operations only.

## Capabilities

- Generate, import, list, export, clear, and delete Ethereum addresses inside the account
- Read the ETH and ERC-20 token balance for any address
- Send ETH and ERC-20 tokens from a managed address
- List recent transactions for an address
- Subscribe and unsubscribe addresses for IPN webhook notifications when they receive funds
- Replay failed IPNs and list those that have failed delivery
- Look up the current gas price, latest block number, and a specific block by hash or height

## Use cases

### Hosted Ethereum Wallet

Run a hosted-wallet service that issues an Ethereum address per user without operating an Ethereum node. POST /newAddress generates an address inside the Chaingateway account, POST /getEthereumBalance and POST /getTokenBalance read state, and POST /sendEthereum and POST /sendToken move funds out. Used by checkout flows, payroll services, and on-ramp products that need ETH plumbing without node ops.

Example prompt: Call POST /newAddress to issue a deposit address per user, then POST /getEthereumBalance for that address to display the balance

### ERC-20 Payouts

Programmatically pay users in stablecoins or other ERC-20 tokens from a single funded hot wallet. POST /sendToken executes a transfer from a managed address, and POST /getTokenBalance lets the system check liquidity before each batch. Useful for token-rewards programs, marketplace payouts, and stablecoin payroll.

Example prompt: Call POST /getTokenBalance to confirm the hot wallet has enough USDT, then POST /sendToken for each user payout in the batch

### Incoming Payment Notifications

Notify backend systems the moment a customer deposit hits an Ethereum address by subscribing the address to Chaingateway IPNs. POST /subscribeAddress registers the callback URL, and POST /listFailedIPNs plus POST /resendFailedIPN cover delivery retry logic so a temporary outage doesn't lose a deposit signal. This avoids polling /getTransactions in a tight loop.

Example prompt: Call POST /subscribeAddress for the merchant deposit address with the callback URL, then nightly call POST /listFailedIPNs and POST /resendFailedIPN for each entry

### AI Agent Crypto Treasury via Jentic

A treasury agent receives a user request 'send 0.1 ETH to this address from our hot wallet'. Through Jentic, the agent searches for a send-eth operation, loads the input schema, and calls /sendEthereum with credentials from your Jentic One instance. The agent never sees the raw API key and the developer doesn't have to wire a custom Authorization header for each tool.

Example prompt: Use Jentic to search 'send eth to an address', load the operation backed by POST /sendEthereum, and execute it with the recipient and amount

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/newAddress` | Generate a new managed Ethereum address |
| POST | `/getEthereumBalance` | Read ETH balance for an address |
| POST | `/getTokenBalance` | Read ERC-20 token balance for an address |
| POST | `/sendEthereum` | Send ETH from a managed address |
| POST | `/sendToken` | Send an ERC-20 token from a managed address |
| POST | `/subscribeAddress` | Subscribe an address to IPN notifications |
| POST | `/getTransactions` | List recent transactions for an address |
| POST | `/getGasPrice` | Read current Ethereum gas price |

## Key resources

- **Addresses** — Generate, import, list, export, clear, and delete addresses managed inside the account
- **Balances** — Read ETH and ERC-20 token balances for any address
- **Transfers** — Send ETH and ERC-20 tokens from managed addresses and list past transactions
- **IPN Subscriptions** — Subscribe addresses to webhook notifications and replay failed deliveries
- **Network** — Read current gas price, latest block number, and individual blocks

## Why Jentic

- **Setup:** Wiring Chaingateway.io by hand means handling its API key auth, sending to the EU Ethereum host at eu.eth.chaingateway.io, and building the wallet, transfer, and IPN webhook request bodies yourself. Through Jentic you install once, import Chaingateway.io from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Chaingateway carries the address and transfer details in the request body rather than a resource path, so scope your agent to the operations it needs, such as reading balances and getting transactions, and leave sending Ethereum or tokens out unless it should move funds. Every operation you credit it with is one you have added to the allowed set.
- **Credential handling:** Your Chaingateway API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Ethereum address' or 'get a wallet's token balance', and Jentic returns the matching Chaingateway operation with its input schema so the agent posts the right body to the right endpoint without browsing the reference docs.

## Related APIs

- **Alchemy API** — Self-managed Ethereum and EVM infrastructure where the application owns key material
- **Tatum API** — Multi-chain blockchain and wallet API across BTC, EVM, and many other chains
- **CoinGecko API** — Crypto asset price and market cap data across thousands of coins

## FAQ

### What authentication does the Chaingateway.io API use?

The API uses an API key passed in the Authorization header, issued after registration at chaingateway.io. Through Jentic, the key is held in your Jentic One instance and added to outgoing requests at execution time so it never enters the agent's prompt or context window.

### Can I send ETH or ERC-20 tokens from a server with the Chaingateway API?

Yes. POST /sendEthereum sends ETH and POST /sendToken sends an ERC-20 token from a managed address inside the account. Use POST /getEthereumBalance or POST /getTokenBalance first to confirm sufficient funds before each transfer.

### How do I get notified when a Chaingateway address receives funds?

Call POST /subscribeAddress with the address and your IPN callback URL, and Chaingateway will POST a notification to that URL when the address receives ETH or tokens. POST /listFailedIPNs and POST /resendFailedIPN cover retry logic so temporary outages on the callback side do not lose events.

### What are the rate limits for the Chaingateway.io API?

Rate limits are tied to your Chaingateway plan rather than published as a single number in this spec. Watch for 429 responses with Retry-After headers and keep IPN callbacks idempotent so a retry storm does not double-credit a deposit.

### How do I generate a new Ethereum deposit address through Jentic?

Search Jentic for 'create a new ethereum address', load the operation backed by POST /newAddress, and execute it with the optional label. Jentic injects the Authorization header so the agent receives the typed address payload.

### Does Chaingateway.io support importing an existing private key?

Yes. POST /importAddress imports an existing keypair into the account, and POST /exportAddress retrieves the corresponding key material later. Pair with POST /listAddresses to enumerate everything currently held by the account, and use POST /deleteAddress or POST /clearAddress to remove entries when no longer needed.

### Can I limit what my agent is allowed to do with the Chaingateway.io API?

Yes. Chaingateway carries the address and transfer details in the request body rather than a resource path, so you scope the agent at the operation level: your own self-hosted Jentic One instance only lets the agent call the operations you have added to its allowed set. You can credit it with read-only operations like POST /getEthereumBalance, POST /getTokenBalance, and POST /getTransactions while leaving POST /sendEthereum and POST /sendToken out so it cannot move funds. Because your Chaingateway API key stays in your Jentic One instance and is injected only at execution time, the agent can act solely through the operations you have permitted.
