API reference, Chain & reference

Transaction status

  • Elysium: Where a transaction sent through our Elysium RPC is: which upstreams accepted it, its block, or replaced / dropped.
  • HyperEVM: Where a transaction sent through our HyperEVM RPC is: which upstreams accepted it, its block, or replaced / dropped.
  • Not on HyperCore: HyperCore has no EVM transactions: an order's status is POST /info orderStatus, its fills the hc.orders channel

GET https://api.femtos.xyz/v1/tx/{hash}/status

Parameters

ParamInExample or valuesMeaning
hashpath0x274b53dea204acf545422e6d9207035b7158ba1bd3d14eccadb9f7fc59720281 (Elysium); 0x72a36507af9667d7e97255cf2efa1494a6db3e908cd7ca96a1788ff2215802eb (HyperEVM)Transaction hash (0x + 64 hex)
layerqueryelysium (Elysium); hyperevm (HyperEVM)The chain it was sent on: hyperevm or elysium

Example

Elysium

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

HyperEVM

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

Key: Authorization: Bearer $FEMTOS_KEY. Get a free key, or with no browser through agent onboarding.

Response fields

FieldTypeMeaning
stateunknown | pending | included | replaced | droppedpending: accepted by an upstream, not in a block yet; included: in a block (final); replaced: its sender's nonce was used by another transaction (final); dropped: not in a block after the delay (Elysium: 10 minutes; HyperEVM: 24 hours (its mempool keeps a transaction for a day)) with its nonce still unused; unknown: not sent through this RPC and not on the chain
trackedbooleantrue: sent through our RPC (`accepted`, `sentAt` and the replaced / dropped states are known); false: read from the chain only
accepted[]objectThe upstreams that accepted it, first one first; empty when not tracked: {upstream, at}
sentAtms | nullWhen the first upstream accepted it; null when not tracked
blockint | nullincluded: its block number
indexint | nullincluded: its position in the block
successboolean | nullincluded: true when it succeeded, false when it reverted
blockTimems | nullincluded: its block's time (the chain gives seconds)
replacedBystring | nullreplaced: the hash of the transaction mined with its nonce; null when that one is not in the last blocks read
finalAtms | nullWhen we saw its final state (included, replaced, dropped); null before, and for a transaction read from the chain only

Related: Chain & reference

  • Freshness GET /v1/status Elysium, HyperCore, HyperEVM
    Head and lag of each layer, measured now.
  • Freshness stream WS status Elysium, HyperCore, HyperEVM
    The GET /v1/status answer (head and lag of each layer, live feeds), pushed whole on subscribe and at most once a second when it changes.
  • Blocks stream WS elysium.blocks | hyperevm.blocks Elysium, HyperEVM
    Each new HyperEVM block header, small and big blocks, from our node.
  • Gas tracker GET /v1/gas Elysium, HyperEVM
    Every HyperEVM block's base fee, gas used and tips over 1h to 7d, with stats and the latest block.
  • Gas stream WS elysium.gas | hyperevm.gas Elysium, HyperEVM
    Each new HyperEVM block's base fee, gas used and tips, from our node; the history is GET /v1/gas.
  • Chain activity GET /v1/activity Elysium, HyperEVM
    HyperEVM activity per bucket: transactions, wallets and new wallets, contracts, fees, swaps, traders, volume, launches, tokens created and deposits bridged in.
  • Chain transactions GET /v1/activity/transactions Elysium, HyperEVM
    HyperEVM user transactions, those that created a contract, and the fees they paid, per bucket.
  • Chain wallets GET /v1/activity/wallets Elysium, HyperEVM
    HyperEVM distinct senders of user transactions, and the new ones (first user transaction on the layer), per bucket.
  • Chain dex volume GET /v1/activity/volume Elysium, HyperEVM
    HyperEVM swaps on the layer's pools, distinct traders, and their USD volume (wash round trips left out), per bucket.
  • Chain launches GET /v1/activity/launches Elysium, HyperEVM
    HyperEVM tokens launched on a launchpad and ERC-20 tokens created (spam left out), per bucket.
  • Chain bridged in GET /v1/activity/bridged Elysium, HyperEVM
    HyperEVM deposits from the parent chain: count, distinct depositors and USD value, per bucket.
  • Chain activity stream WS elysium.activity | hyperevm.activity Elysium, HyperEVM
    The GET /v1/activity answer of HyperEVM for one interval (its last 120 / 96 / 168 / 90 buckets of 1m / 15m / 1h / 1d), pushed on subscribe, then at each indexed block that moves its open buckets (whole, or as a JSON Patch of the rows that changed).
  • Block GET /v1/blocks/{number} Elysium, HyperEVM
    One HyperEVM block and every transaction in it: who called what, swaps, gas and fees.
  • Transaction GET /v1/tx/{hash} Elysium, HyperEVM
    One transaction: status, gas, decoded transfers, swaps and liquidity, bridge legs and journey.
  • Transaction status stream WS elysium.tx.status | hyperevm.tx.status Elysium, HyperEVM
    The inclusion status of one transaction sent through POST /v1/HyperEVM/rpc (eth_sendRawTransaction): the upstreams that accepted it, then its block (success or reverted), or replaced / dropped. A hash not sent through our RPC gets its status from the chain once (included or unknown) and no later frame. With `from` instead of `hash`: every transaction of up to 10 senders, those your account sent through our RPC from the moment an upstream accepts them, the others once they are in a block.
  • Sent transactions GET /v1/rpc/sent Elysium, HyperEVM
    The transactions your account sent through our HyperEVM RPC, newest first, with where each one is.
  • EVM JSON-RPC POST /v1/elysium/rpc | /v1/hyperevm/rpc Elysium, HyperEVM
    Free HyperEVM RPC by Femtos, read and send (eth_sendRawTransaction), for wallets, dapps and bots, not for indexing (use the Femtos API for history): no key 5 requests a second per IP; a key its plan's limits (free 50/s, 15 transactions/s, up to 2000/s), never metered; batches of 50 with a key, eth_getLogs over 1,000 blocks at most, state of the last 128 blocks only.
  • Stream stats WS stats HyperCore
    Our HyperCore stream health, once a second.
  • Check your key GET /v1/whoami Elysium, HyperCore, HyperEVM
    Answers the name your key is registered under, its tier, billing state and the limits in force.
  • OpenAPI document GET /v1/openapi.json Elysium, HyperCore, HyperEVM
    The OpenAPI 3.1 contract of every REST call, public.

More

Agent guide (agents.md)llms.txtOpenAPIMCP serverGet an API keyChangelog