> Feedback: If these docs are stale, missing, or confusing, post sanitized feedback to `https://tempo.xyz/developers/api/feedback` with `source: "mcp"`, a short `message`, and any relevant `toolName`, `relatedResource`, or `client`.
> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://tempo.xyz/developers/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Tempo API

Version: `1.0.0`

REST API for reading and interacting with Tempo

## Servers

- `https://api.tempo.xyz`: Relative to the host serving this document.

## Endpoints

### Activities

A readable feed of what an account did onchain.

- [`GET /v1/addresses/{address}/activities`](/docs/api/activities#getaddressactivities): List address activities
- [`GET /v1/transactions/{transactionHash}/activities`](/docs/api/activities#gettransactionactivities): List transaction activities

### Balances

How much of each token an account holds.

- [`GET /v1/addresses/{address}/balances`](/docs/api/balances#getaddressbalances): List address balances

### Blocks

The ordered batches of transactions making up the chain.

- [`GET /v1/blocks`](/docs/api/blocks#getblocks): List blocks
- [`GET /v1/blocks/{block}`](/docs/api/blocks#getblock): Get a block by selector

### Exchange

Tempo's built-in stablecoin exchange: pairs, swaps, orders, prices.

- [`GET /v1/exchange/swaps`](/docs/api/exchange#getswaps): List swaps
- [`GET /v1/exchange/pairs`](/docs/api/exchange#getpairs): List pairs
- [`GET /v1/exchange/orders`](/docs/api/exchange#getorders): List orders
- [`GET /v1/exchange/orders/{orderId}/fills`](/docs/api/exchange#getorderfills): List order fills
- [`GET /v1/exchange/pairs/{base}`](/docs/api/exchange#getpair): Get pair
- [`GET /v1/exchange/orders/{orderId}`](/docs/api/exchange#getorder): Get order
- [`GET /v1/exchange/pairs/{base}/ohlc`](/docs/api/exchange#getpairohlc): Get pair OHLC
- [`GET /v1/exchange/pairs/{base}/depth`](/docs/api/exchange#getpairdepth): Get pair depth

### Fee AMM

Pools that convert stablecoins to pay fees.

- [`GET /v1/fee-amm/pools`](/docs/api/fee-amm#getfeeammpools): List pools
- [`GET /v1/fee-amm/mints`](/docs/api/fee-amm#getfeeammmints): List mints

### Funding

Live quotes and supported inputs for funding Tempo.

- [`GET /v1/funding/chains`](/docs/api/funding#listfundingchains): List funding chains
- [`GET /v1/funding/providers`](/docs/api/funding#listfundingproviders): List funding providers
- [`GET /v1/funding/quotes`](/docs/api/funding#quotefunding): Get funding quotes

### Tokens

TIP-20 token details, supply, and holders.

- [`GET /v1/tokens`](/docs/api/tokens#gettokens): List tokens
- [`GET /v1/tokens/{token}/holders`](/docs/api/tokens#gettokenholders): List token holders
- [`GET /v1/tokens/{symbol}`](/docs/api/tokens#gettokenbysymbol): Get token by symbol
- [`GET /v1/tokens/{token}`](/docs/api/tokens#gettoken): Get token by address
- [`GET /v1/tokens/{token}/logo`](/docs/api/tokens#gettokenlogo): Get token logo

### Transactions

Transactions submitted to Tempo, and their receipts.

- [`GET /v1/transactions`](/docs/api/transactions#gettransactions): List transactions
- [`GET /v1/transactions/receipts`](/docs/api/transactions#getreceipts): List transaction receipts
- [`GET /v1/tokens/{token}/transactions`](/docs/api/transactions#gettokentransactions): List token transactions
- [`GET /v1/transactions/{transactionHash}`](/docs/api/transactions#gettransaction): Get a transaction by hash
- [`GET /v1/transactions/{transactionHash}/receipt`](/docs/api/transactions#getreceipt): Get a transaction receipt

### Transfers

Token movements from executing transactions.

- [`GET /v1/transfers`](/docs/api/transfers#gettransfers): List transfers

### Verified Tokens

A curated, trusted list of TIP-20 tokens.

- [`GET /v1/tokenlist`](/docs/api/verified-tokens#gettokenlist): Get token list

### Webhooks

Get signed callbacks when onchain events happen.

- [`GET /v1/webhooks`](/docs/api/webhooks#listwebhooks): List webhooks
- [`POST /v1/webhooks`](/docs/api/webhooks#createwebhook): Create webhook
- [`GET /v1/webhooks/{id}`](/docs/api/webhooks#getwebhook): Get webhook
- [`PATCH /v1/webhooks/{id}`](/docs/api/webhooks#updatewebhook): Update webhook
- [`DELETE /v1/webhooks/{id}`](/docs/api/webhooks#deletewebhook): Delete webhook
- [`GET /v1/webhooks/event-types`](/docs/api/webhooks#getwebhookeventtypes): List webhook event types
- [`GET /v1/webhooks/{id}/deliveries`](/docs/api/webhooks#listwebhookdeliveries): List webhook deliveries
- [`POST /v1/webhooks/{id}/ping`](/docs/api/webhooks#pingwebhook): Ping webhook
- [`POST /v1/webhooks/{id}/deliveries/{deliveryId}/retry`](/docs/api/webhooks#retrywebhookdelivery): Retry webhook delivery
- [`POST event`](/docs/api/webhooks#webhook-post-event): Webhook event delivery

### Indexer

Run read-only SQL queries against Tempo's indexed data.

- [`GET /v1/indexer/query`](/docs/api/indexer#indexerquery): Query indexed chain data

### RPC

Direct access to the chain over Ethereum JSON-RPC. Not part of the stable API contract; best-effort support only. No compatibility, latency, availability, or data-freshness guarantees. Breaking changes may happen with limited notice.

- [`POST /rpc/{chain}`](/docs/api/rpc#admin_validatorkey): admin_validatorKey
- [`POST /rpc/{chain}`](/docs/api/rpc#consensus_getfinalization): consensus_getFinalization
- [`POST /rpc/{chain}`](/docs/api/rpc#consensus_getidentitytransitionproof): consensus_getIdentityTransitionProof
- [`POST /rpc/{chain}`](/docs/api/rpc#consensus_getlatest): consensus_getLatest
- [`POST /rpc/{chain}`](/docs/api/rpc#consensus_subscribe): consensus_subscribe
- [`POST /rpc/{chain}`](/docs/api/rpc#consensus_unsubscribe): consensus_unsubscribe
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_blocknumber): eth_blockNumber
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_call): eth_call
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_chainid): eth_chainId
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_createaccesslist): eth_createAccessList
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_estimategas): eth_estimateGas
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_feehistory): eth_feeHistory
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_filltransaction): eth_fillTransaction
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gasprice): eth_gasPrice
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblockaccesslist): eth_getBlockAccessList
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblockbyhash): eth_getBlockByHash
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblockbynumber): eth_getBlockByNumber
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblockreceipts): eth_getBlockReceipts
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblocktransactioncountbyhash): eth_getBlockTransactionCountByHash
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getblocktransactioncountbynumber): eth_getBlockTransactionCountByNumber
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getcode): eth_getCode
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getfilterchanges): eth_getFilterChanges
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getfilterlogs): eth_getFilterLogs
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getlogs): eth_getLogs
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getproof): eth_getProof
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getstorageat): eth_getStorageAt
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_getstoragevalues): eth_getStorageValues
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gettransactionbyblockhashandindex): eth_getTransactionByBlockHashAndIndex
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gettransactionbyblocknumberandindex): eth_getTransactionByBlockNumberAndIndex
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gettransactionbyhash): eth_getTransactionByHash
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gettransactioncount): eth_getTransactionCount
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_gettransactionreceipt): eth_getTransactionReceipt
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_maxpriorityfeepergas): eth_maxPriorityFeePerGas
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_newblockfilter): eth_newBlockFilter
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_newfilter): eth_newFilter
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_newpendingtransactionfilter): eth_newPendingTransactionFilter
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_sendrawtransaction): eth_sendRawTransaction
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_sendrawtransactionsync): eth_sendRawTransactionSync
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_simulatev1): eth_simulateV1
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_syncing): eth_syncing
- [`POST /rpc/{chain}`](/docs/api/rpc#eth_uninstallfilter): eth_uninstallFilter
- [`POST /rpc/{chain}`](/docs/api/rpc#tempo_forkschedule): tempo_forkSchedule
- [`POST /rpc/{chain}`](/docs/api/rpc#tempo_fundaddress): tempo_fundAddress

### CoinGecko

Exchange data in CoinGecko's GeckoTerminal format.

- [`GET /gecko/{chainId}/pairs`](/docs/api/coingecko#coingeckopairs): List trading pairs
- [`GET /gecko/{chainId}/events`](/docs/api/coingecko#coingeckoevents): List swap events
- [`GET /gecko/{chainId}/latest-block`](/docs/api/coingecko#coingeckolatestblock): Get latest indexed block
- [`GET /gecko/{chainId}/assets/{address}`](/docs/api/coingecko#coingeckoasset): Get asset
- [`GET /gecko/{chainId}/pairs/{pairId}`](/docs/api/coingecko#coingeckopair): Get trading pair

### API Keys

Credentials for accessing the Tempo API.

- [`GET /v1/scopes`](/docs/api/api-keys#getscopes): List scopes
- [`GET /v1/orgs/{orgId}/api-keys`](/docs/api/api-keys#listorgapikeys): List organization API keys
- [`GET /v1/orgs/{orgId}/projects/{projectId}/api-keys`](/docs/api/api-keys#listapikeys): List API keys
- [`POST /v1/orgs/{orgId}/projects/{projectId}/api-keys`](/docs/api/api-keys#createapikey): Create API key
- [`DELETE /v1/orgs/{orgId}/projects/{projectId}/api-keys/{keyId}`](/docs/api/api-keys#revokeapikey): Revoke API key

### Billing

Organization billing backed by Stripe.

- [`GET /v1/orgs/{orgId}/billing`](/docs/api/billing#getbilling): Get billing
- [`PATCH /v1/orgs/{orgId}/billing`](/docs/api/billing#updatebilling): Update billing
- [`GET /v1/orgs/{orgId}/billing/payment-methods`](/docs/api/billing#getbillingpaymentmethods): Get payment methods
- [`POST /v1/orgs/{orgId}/billing/stripe/checkout`](/docs/api/billing#createstripecheckout): Create checkout session
- [`POST /v1/orgs/{orgId}/billing/stripe/manage`](/docs/api/billing#createstripemanage): Create manage session
- [`DELETE /v1/orgs/{orgId}/billing/payment-methods/{methodId}`](/docs/api/billing#deletebillingpaymentmethod): Remove payment method

### Invitations

Pending organization invitations.

- [`GET /v1/invitations`](/docs/api/invitations#listmyinvitations): List my invitations
- [`GET /v1/orgs/{orgId}/invitations`](/docs/api/invitations#listinvitations): List invitations
- [`POST /v1/orgs/{orgId}/invitations`](/docs/api/invitations#createinvitation): Create invitation
- [`POST /v1/invitations/{invitationId}/accept`](/docs/api/invitations#acceptinvitation): Accept invitation
- [`POST /v1/invitations/{invitationId}/decline`](/docs/api/invitations#declineinvitation): Decline invitation
- [`DELETE /v1/orgs/{orgId}/invitations/{invitationId}`](/docs/api/invitations#revokeinvitation): Revoke invitation

### Invite Links

Reusable organization invite links.

- [`GET /v1/orgs/{orgId}/invite-links/{inviteLinkId}/redemptions`](/docs/api/invite-links#listinvitelinkredemptions): List link redemptions
- [`GET /v1/orgs/{orgId}/invite-links`](/docs/api/invite-links#listinvitelinks): List invite links
- [`POST /v1/orgs/{orgId}/invite-links`](/docs/api/invite-links#createinvitelink): Create invite link
- [`POST /v1/invite-links/resolve`](/docs/api/invite-links#resolveinvitelink): Resolve invite link
- [`POST /v1/invite-links/accept`](/docs/api/invite-links#acceptinvitelink): Accept invite link
- [`PATCH /v1/orgs/{orgId}/invite-links/{inviteLinkId}`](/docs/api/invite-links#updateinvitelink): Update invite link
- [`DELETE /v1/orgs/{orgId}/invite-links/{inviteLinkId}`](/docs/api/invite-links#deleteinvitelink): Delete invite link

### Members

Organization team membership.

- [`GET /v1/orgs/{orgId}/members`](/docs/api/members#listmembers): List members
- [`PATCH /v1/orgs/{orgId}/members/{userId}`](/docs/api/members#updatemember): Update member
- [`DELETE /v1/orgs/{orgId}/members/{userId}`](/docs/api/members#removemember): Remove member

### Organizations

Teams that own application workspaces and members.

- [`GET /v1/orgs`](/docs/api/organizations#listorganizations): List organizations
- [`POST /v1/orgs`](/docs/api/organizations#createorganization): Create organization
- [`GET /v1/orgs/{orgId}`](/docs/api/organizations#getorganization): Get organization
- [`PATCH /v1/orgs/{orgId}`](/docs/api/organizations#updateorganization): Update organization
- [`DELETE /v1/orgs/{orgId}`](/docs/api/organizations#deleteorganization): Delete organization

### Projects

Application workspaces within an organization.

- [`GET /v1/orgs/{orgId}/projects`](/docs/api/projects#listprojects): List projects
- [`POST /v1/orgs/{orgId}/projects`](/docs/api/projects#createproject): Create project
- [`GET /v1/orgs/{orgId}/projects/{projectId}`](/docs/api/projects#getproject): Get project
- [`PATCH /v1/orgs/{orgId}/projects/{projectId}`](/docs/api/projects#updateproject): Update project
- [`DELETE /v1/orgs/{orgId}/projects/{projectId}`](/docs/api/projects#deleteproject): Delete project

### Usage

Request and sponsorship usage for organizations.

- [`GET /v1/orgs/{orgId}/usage/requests`](/docs/api/usage#getrequestusage): Get request usage
- [`GET /v1/orgs/{orgId}/usage/sponsorships`](/docs/api/usage#getsponsorshipusage): Get sponsorship usage

### Users

Users on the Tempo Platform.

- [`GET /v1/me`](/docs/api/users#getme): Get current user

### MCP

A hosted Model Context Protocol server: the data domain and Tempo docs exposed as tools.

- [`POST /mcp`](/docs/api/mcp#mcprequest): Call MCP

### Authentication

Authenticate into the Tempo Platform.

- [`POST /v1/auth/siwe/challenge`](/docs/api/authentication#createsiwechallenge): Create challenge (SIWE)
- [`POST /v1/auth/siwe`](/docs/api/authentication#verifysiwe): Authenticate (SIWE)
- [`POST /v1/auth/siwe/logout`](/docs/api/authentication#siwelogout): Sign out
