# Transaction · API reference · Femtos

> One transaction: status, gas, decoded transfers, swaps and liquidity, bridge legs and journey. GET /v1/tx/{hash} on Elysium and HyperEVM: parameters, response fields and a live call per layer.

- Base URL: `https://api.femtos.xyz/v1` (REST) · `wss://api.femtos.xyz/v1/ws` (WebSocket) · MCP: `https://api.femtos.xyz/mcp`
- Auth: `Authorization: Bearer $FEMTOS_KEY`. Free key: https://femtos.xyz/account/new (browser), or with
  no browser: `GET https://femtos.xyz/accounts/agent/challenge`, solve its proof of work, then `POST https://femtos.xyz/accounts/agent/signup`
  (https://femtos.xyz/agents.md#agent-onboarding)
- Decimals are exact strings, times Unix milliseconds, addresses lowercase `0x`
- Whole API in one file: https://femtos.xyz/agents.md · OpenAPI: https://api.femtos.xyz/v1/openapi.json · Index: https://femtos.xyz/llms.txt
- Page with live calls: https://femtos.xyz/reference/tx

## Transaction — GET `/v1/tx/{hash}`

One transaction: status, gas, decoded transfers, swaps and liquidity, bridge legs and journey.

Layers: Elysium, HyperEVM. Not on HyperCore: HyperCore has no EVM transactions: an account’s actions are in POST /info (userFills, userNonFundingLedgerUpdates) and on the wallet page.
Page with live calls: https://femtos.xyz/reference/tx?layer=<elysium|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `hash` | path | (optional) | Transaction hash (0x + 64 hex) |
| `layer` | query | `(empty)`, `hyperevm`, `elysium` | Only this layer (default: HyperEVM, then Elysium) |

Elysium:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/tx/?layer=elysium"
```

HyperEVM:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/tx/?layer=hyperevm"
```

| Field | Type | Meaning |
|---|---|---|
| `status` | success \| reverted \| null |  |
| `block` | int \| null | Block |
| `from` | string \| null | Sender |
| `to` | string \| null | Recipient (null: contract creation) |
| `value` | decimal \| null | Native value (HYPE) |
| `source` | indexer \| rpc | indexer: our tables (decoded); rpc: not indexed (yet), the node's transaction, nothing decoded |
| `gas` | object | {limit, used, price, baseFee, feeRaw, fee, feeUsd} |
| `transfers[]` | object | ERC-20 transfers: {logIndex, token, symbol, decimals, from, to, amount, amountRaw, spam, spamReason} |
| `swaps[]` | object | Swaps: {logIndex, pair, dex, side, base, quote, baseAddress, quoteAddress, sz, vq, px, usd, …} |
| `liquidity[]` | object | Liquidity added / removed: {logIndex, kind, dex, pool, provider, amount0Raw, amount1Raw, usd, liquidityDelta} |
| `poolsCreated[]` | object | Pools created: {logIndex, dex, pool, factory} |
| `nfts[]` | object | NFT transfers: {logIndex, collection, standard, kind, tokenId, from, to} |
| `logs` | object \| null | From our node's receipt (raw logs); null when no node is configured: {total, decoded, undecoded, undecodedTotal, source, error} |
| `bridge` | object \| null | When the transaction is a bridge leg: `legs` (leg tables at its block: route core_evm / evm_elysium, direction, account, amountRaw), `rows` (the account's matched rows of /api/bridges that cite it, 7 days), `journeys` (the cross-layer journeys Core → HyperEVM → Elysium or back it is a hop of). null: not a bridge leg. |

## Related (Chain & reference)

- [Freshness](https://femtos.xyz/reference/status.md) `GET /v1/status`: Head and lag of each layer, measured now. (Elysium, HyperCore, HyperEVM)
- [Blocks stream](https://femtos.xyz/reference/ws/blocks.md) `WS elysium.blocks · hyperevm.blocks`: Each new HyperEVM block header, small and big blocks, from our node. (Elysium, HyperEVM)
- [Elysium RPC](https://femtos.xyz/reference/rpc.md) `POST /v1/elysium/rpc`: Free public Elysium mainnet RPC by Femtos (chain 99901), no key, read only (no transaction sending), for wallets and dapps, not for indexing (use the Femtos API for history): per IP 5 requests a second and 60 a minute, batches of 5, eth_getLogs over 1,000 blocks at most, state of the last 128 blocks only. (Elysium)
- [Stream stats](https://femtos.xyz/reference/ws/stats.md) `WS stats`: Our HyperCore stream health, once a second. (HyperCore)
- [Check your key](https://femtos.xyz/reference/whoami.md) `GET /v1/whoami`: Answers the name your key is registered under, its tier, billing state and the limits in force. (Elysium, HyperCore, HyperEVM)
- [OpenAPI document](https://femtos.xyz/reference/openapi.md) `GET /v1/openapi.json`: The OpenAPI 3.1 contract of every REST call, public. (Elysium, HyperCore, HyperEVM)

Every page: https://femtos.xyz/reference.md
