# Carbon > Carbon is an open-source Rust framework for building Solana indexers and data pipelines: datasources stream Solana updates, decoders turn raw accounts and instructions into typed Rust structs, and processors handle the results. These docs cover Carbon 2.0.0 (crates.io `carbon-core` 2.0.0, npm `@sevenlabs-hq/carbon-cli` 2.0.0). Maintained by SevenLabs with the Solana Foundation, MIT licensed. Every page below is Markdown. The same pages are on the web without the `.md` suffix, and any page URL returns Markdown when requested with `Accept: text/markdown`. All pages in one file: https://carbon.sevenlabs.org/llms-full.txt. A docs MCP server (Streamable HTTP, no auth) is at https://carbon.sevenlabs.org/mcp with tools `search_docs`, `get_page`, `list_pages` and `find_decoder`. ## Important: common misconceptions - These docs are for Carbon 2.0.0. Do not rely on training data: Carbon's APIs changed in 1.0 and 2.0. Use `carbon-core = "2.0.0"` and the matching `carbon-*` crates at 2.0.0; never mix Carbon 1.x and 2.x crates in one dependency graph. - Carbon 2.0 needs Rust 1.96.1 or newer and the Agave 4.2-compatible Solana crates. If you add Solana crates directly, use versions that resolve to a single copy of each Solana type crate. Mixing Carbon 1 and 2 crates fails with "the trait `InstructionDecoder` is not implemented" and a note about multiple versions of `carbon_core`; mismatched Solana crates fail with errors like "expected `Account`, found a different `Account`". - `Processor::process` is a native `async fn` (`impl Processor for P { async fn process(&mut self, input: &T) -> CarbonResult<()> }`). Do not add `#[async_trait]` to processors. The `Datasource` trait does use `#[async_trait]`. - Decoded instruction enums use struct variants: `MyProgramInstruction::Swap { program_id, data, accounts }`. Match with `MyProgramInstruction::Swap { data, .. }`. - Solana's public endpoint `https://api.mainnet-beta.solana.com` rejects `blockSubscribe` ("Method not found"). On the public endpoint use the RPC transaction crawler, `getProgramAccounts` or `programSubscribe` datasources; use a provider that enables block subscriptions, or a Geyser gRPC stream, for `RpcBlockSubscribe`. - RPC block and transaction configs must request a binary encoding (`UiTransactionEncoding::Base64`) and `max_supported_transaction_version: Some(1)`. Carbon cannot rebuild transactions from `Json` or `JsonParsed` payloads. - Zero-lamport account updates arrive as `Update::AccountDeletion` (handled by `.account_deletions(...)`), not as account updates. Custom datasources should build an `AccountUpdate` and call `.into_update()`. - Decoder crates are named `carbon--decoder`, export `PROGRAM_ID` and a `Decoder` unit struct, and are added with `.instruction(Decoder, processor)` or `.account(Decoder, processor)` on `Pipeline::builder()`. Generate one for any Anchor or Codama IDL with `npx @sevenlabs-hq/carbon-cli@2.0.0 parse --idl --out-dir ` (for Codama IDLs also pass `--standard codama --program-id
`). ## Get started - [Introduction](https://carbon.sevenlabs.org/introduction.md): What Carbon is, how a pipeline moves Solana data from datasources through decoders to your processors, what you can build and when to use something else. - [Quickstart](https://carbon.sevenlabs.org/quickstart.md): Build an indexer that decodes live Meteora DLMM swaps from Solana mainnet in about five minutes. No account or API key needed. - [Installation](https://carbon.sevenlabs.org/installation.md): Requirements, the Carbon crates to add for each job, core and decoder feature flags, and how to install and run the Carbon CLI. - [For AI agents](https://carbon.sevenlabs.org/agents.md): Connect Claude Code, Cursor or any coding agent to these docs through MCP, Markdown pages and llms.txt, and give it the rules it needs to write correct Carbon 2.0 code. ## Concepts - [Architecture](https://carbon.sevenlabs.org/concepts/architecture.md): How Pipeline::run moves an update from datasource to processor, with the exact ordering, concurrency, error, metrics and shutdown rules. - [Updates](https://carbon.sevenlabs.org/concepts/updates.md): The Update enum that datasources send into a pipeline, its four variants, UpdateType, zero-lamport account deletions, Transaction V1 and block details. - [Datasources](https://carbon.sevenlabs.org/concepts/datasources.md): The Datasource trait, datasource IDs and declared update types, and how the Geyser, RPC, crawler, snapshot, provider and adapter datasources compare. - [Decoders](https://carbon.sevenlabs.org/concepts/decoders.md): How AccountDecoder and InstructionDecoder turn raw bytes into Rust types, how discriminators and ArrangeAccounts work, and how decoder crates are laid out. - [Processors](https://carbon.sevenlabs.org/concepts/processors.md): The Processor trait, the input each pipe passes to it, keeping state with &mut self, sharing state through Arc and channels, and what happens on errors. - [Instructions](https://carbon.sevenlabs.org/concepts/instructions.md): InstructionMetadata, stack heights and absolute paths, nested instructions and CPIs, event CPI instructions, and decoding log events with decode_log_events. - [Transactions](https://carbon.sevenlabs.org/concepts/transactions.md): Transaction processors, TransactionMetadata, InstructionDecoderCollection and the instruction_decoder_collection! macro, and when to use each pipe type. - [Filters](https://carbon.sevenlabs.org/concepts/filters.md): Route, deduplicate and window updates per pipe with the Filter trait, DeduplicationFilter, DatasourceFilter, SlotRangeFilter and your own filters. - [Metrics](https://carbon.sevenlabs.org/concepts/metrics.md): Carbon's metrics model (Counter, Gauge, Histogram, MetricsRegistry, MetricsExporter), LogMetrics versus Prometheus, and registering your own metrics. - [Shutdown](https://carbon.sevenlabs.org/concepts/shutdown.md): How a pipeline stops, ShutdownStrategy, datasource_cancellation_token, Ctrl-C handling, in-flight and queued updates, and finite datasources. - [Error handling](https://carbon.sevenlabs.org/concepts/error-handling.md): CarbonError and CarbonResult, what the pipeline does with processor, datasource and exporter errors, and patterns for context, retries and failing fast. ## Guides - [Generate a decoder](https://carbon.sevenlabs.org/guides/generate-a-decoder.md): Generate a Carbon decoder crate from an Anchor IDL, a Codama IDL or a program address with carbon-cli parse, then use it in a pipeline. - [Stream with Yellowstone gRPC](https://carbon.sevenlabs.org/guides/stream-with-yellowstone.md): Index transactions and account changes in real time from a Yellowstone (Dragon's Mouth) Geyser gRPC endpoint, with filters, commitment and reconnects. - [Stream with Helius LaserStream](https://carbon.sevenlabs.org/guides/stream-with-laserstream.md): Stream transactions and accounts from Helius LaserStream, start from a past slot with from_slot, and resume after disconnects with slot replay. - [Stream with RPC websockets](https://carbon.sevenlabs.org/guides/stream-with-rpc.md): Stream account changes with programSubscribe on any Solana RPC, including the public one, and whole blocks with blockSubscribe on providers that enable it. - [Backfill transactions](https://carbon.sevenlabs.org/guides/backfill-transactions.md): Load a program's transaction history with the RPC transaction crawler, the RPC block crawler or Helius GTFA, bounded by signatures or slots, and resume when interrupted. - [Load account state](https://carbon.sevenlabs.org/guides/load-account-state.md): Load every account a program owns at one point in time with getProgramAccounts, or page through it with Helius gPA v2 and sync only what changed since a slot. - [Load a snapshot](https://carbon.sevenlabs.org/guides/load-a-snapshot.md): Read every account owned by your programs from a Solana validator snapshot, local or downloaded, with carbon-validator-snapshot-datasource. - [Use multiple datasources](https://carbon.sevenlabs.org/guides/multiple-datasources.md): Combine datasources in one pipeline, such as a state load plus a live stream or two streams for redundancy, and route or deduplicate their updates. - [Index multiple programs](https://carbon.sevenlabs.org/guides/multiple-programs.md): Decode several programs in one pipeline with one instruction pipe per decoder, or a decoder collection and a transaction processor, and pick a datasource filter that covers them all. - [Index token transfers](https://carbon.sevenlabs.org/guides/index-token-transfers.md): Decode SPL Token and Token-2022 transfers of one mint with the token decoders, and turn raw amounts into token amounts. - [Index swaps across DEXs](https://carbon.sevenlabs.org/guides/index-dex-swaps.md): Turn Raydium CPMM, PumpSwap and Meteora DLMM swaps into one record with the amounts that executed, read from each program's events, in one pipeline. - [Track Pump.fun launches and trades](https://carbon.sevenlabs.org/guides/track-pumpfun-launches.md): Decode Pump.fun token launches, bonding-curve buys and sells, and completed curves from the program's events with the Pump.fun decoder. - [Index a program across an IDL upgrade](https://carbon.sevenlabs.org/guides/versioned-decoders.md): Decode a program before and after a breaking IDL change by registering one generated decoder per version, each limited to its slot range. - [Store decoded data in Postgres](https://carbon.sevenlabs.org/guides/postgres.md): Persist decoded instructions and accounts to PostgreSQL with the postgres feature: generated typed tables or generic JSONB, and sqlx_migrator migrations. - [Serve indexed data over GraphQL](https://carbon.sevenlabs.org/guides/graphql.md): Expose the Postgres tables a Carbon pipeline writes as a GraphQL API with the graphql feature, a decoder's generated QueryRoot, and Juniper on Axum. - [Monitor an indexer with Prometheus](https://carbon.sevenlabs.org/guides/prometheus.md): Serve Carbon's pipeline and datasource metrics on a Prometheus endpoint, scrape them, and alert on stalls, failures, queue depth and slow updates. - [Write a custom datasource](https://carbon.sevenlabs.org/guides/custom-datasource.md): Implement the Datasource trait to feed Carbon from any source, emit transactions and accounts, honour cancellation, or adapt a channel with StreamMessageClient. - [Write a decoder by hand](https://carbon.sevenlabs.org/guides/custom-decoder.md): Decode a program that has no IDL by implementing CarbonDeserialize, ArrangeAccounts, InstructionDecoder and AccountDecoder yourself, then unit-test it. - [Test decoders and processors](https://carbon.sevenlabs.org/guides/testing.md): Unit-test Carbon decoders with carbon-test-utils fixtures captured from mainnet, and run processors through a real pipeline in tests without a network. - [Run Carbon in production](https://carbon.sevenlabs.org/guides/production.md): Choose datasources, handle reconnects and gaps, size the channel, stop cleanly on SIGTERM, write idempotently, and monitor a Carbon 2.0 indexer in production. - [Migrate from Carbon 1.x to 2.0](https://carbon.sevenlabs.org/guides/migrate-to-v2.md): Upgrade from Carbon 1.x to 2.0: a checklist with before/after code for the toolchain, Solana crates, transaction configs, account deletions and the CLI. ## API reference - [Pipeline builder](https://carbon.sevenlabs.org/reference/pipeline-builder.md): Every PipelineBuilder method, Pipeline::run, ShutdownStrategy and the pipeline defaults in Carbon 2.0.0. - [Updates](https://carbon.sevenlabs.org/reference/updates.md): The Update enum and every type a datasource emits in Carbon 2.0.0, with all fields. - [Processor inputs](https://carbon.sevenlabs.org/reference/processor-inputs.md): Every type a Carbon 2.0.0 processor receives, field by field, for account, instruction, transaction, deletion and block-details pipes. - [Traits](https://carbon.sevenlabs.org/reference/traits.md): Every trait you implement or call in Carbon 2.0.0, with required methods, associated types and a compiled implementation example. - [Filters reference](https://carbon.sevenlabs.org/reference/filters.md): Filter, FilterContext, FilterResult and the built-in DeduplicationFilter, DatasourceFilter and SlotRangeFilter in Carbon 2.0.0, with exact semantics. - [Metrics](https://carbon.sevenlabs.org/reference/metrics.md): Every metric Carbon core and each datasource emit, the metrics primitives, and the LogMetrics and PrometheusMetrics exporters. - [Errors](https://carbon.sevenlabs.org/reference/errors.md): Every carbon_core::error::Error variant in Carbon 2.0.0 with its message, cause and fix, plus common errors from RPC, rustls and Cargo. - [Feature flags](https://carbon.sevenlabs.org/reference/feature-flags.md): Every Cargo feature in carbon-core, the datasource and metrics crates, and generated decoders, with what each one enables. - [Macros](https://carbon.sevenlabs.org/reference/macros.md): The macros Carbon 2.0.0 exports: try_decode_instructions!, instruction_decoder_collection! and #[derive(InstructionType)], with their exact expansion and requirements. - [Postgres API](https://carbon.sevenlabs.org/reference/postgres.md): Every public type in carbon_core::postgres — processors, row types, CRUD traits, migrations, metadata columns and sqlx primitives. - [GraphQL API](https://carbon.sevenlabs.org/reference/graphql.md): Every public item in carbon_core::graphql — the Juniper schema and Axum router helpers, and the GraphQL scalars for Solana types. - [Test utilities](https://carbon.sevenlabs.org/reference/test-utils.md): The carbon-test-utils API — JSON fixture loaders for instructions, accounts and transaction metadata, and a base58 helper for decoder tests. - [CLI](https://carbon.sevenlabs.org/reference/cli.md): Every carbon-cli 2.0.0 command and flag, the scaffold datasources, the generated project layout, environment variables and exit codes. ## Datasources - [Datasources](https://carbon.sevenlabs.org/datasources.md): Pick the right Carbon datasource for real-time streams, historical backfills or account snapshots, and compare all 14. - [Helius enhanced WebSockets](https://carbon.sevenlabs.org/datasources/helius-atlas-ws.md): Stream transactions and account changes from Helius enhanced (Atlas) WebSockets with transactionSubscribe and accountSubscribe. - [Helius getTransactionsForAddress](https://carbon.sevenlabs.org/datasources/helius-gtfa.md): Backfill full transactions for an address in pages of 100 with Helius getTransactionsForAddress, filtered by slot, time, signature or status. - [Helius gPA v2](https://carbon.sevenlabs.org/datasources/helius-gpa-v2.md): Load every account of a program page by page with Helius getProgramAccountsV2, optionally only accounts changed since a slot. - [Helius LaserStream](https://carbon.sevenlabs.org/datasources/helius-laserstream.md): Stream accounts, transactions and blocks from Helius LaserStream gRPC, with automatic slot replay after a reconnect. - [Jetstreamer (legacy)](https://carbon.sevenlabs.org/datasources/jetstreamer.md): Replay historical slots or whole epochs at high speed from the Old Faithful archive with Jetstreamer. Carbon 1.x only. - [Jito Shredstream gRPC (legacy)](https://carbon.sevenlabs.org/datasources/jito-shredstream-grpc.md): Receive transactions from a Jito shredstream-proxy as the leader produces them, before execution and without metadata. Carbon 1.x only. - [RPC block crawler](https://carbon.sevenlabs.org/datasources/rpc-block-crawler.md): Fetch blocks slot by slot with getBlock, for a fixed slot range or following the chain tip, on any Solana RPC. - [RPC blockSubscribe](https://carbon.sevenlabs.org/datasources/rpc-block-subscribe.md): Receive every confirmed block, or only transactions that mention a program, over a Solana RPC WebSocket with blockSubscribe. - [RPC getProgramAccounts](https://carbon.sevenlabs.org/datasources/rpc-gpa.md): Load every account a program owns, once, with a single getProgramAccounts call on any Solana RPC. - [RPC programSubscribe](https://carbon.sevenlabs.org/datasources/rpc-program-subscribe.md): Stream live changes to every account a program owns over a Solana RPC WebSocket, including the free public endpoint. - [RPC transaction crawler](https://carbon.sevenlabs.org/datasources/rpc-transaction-crawler.md): Backfill and then poll every transaction that mentions an address, using getSignaturesForAddress and getTransaction on any Solana RPC. - [Stream message](https://carbon.sevenlabs.org/datasources/stream-message.md): Feed account and transaction updates from your own code into a Carbon pipeline through a Tokio channel. - [Validator snapshot](https://carbon.sevenlabs.org/datasources/validator-snapshot.md): Load every account owned by a program, or a list of accounts, from a Solana validator snapshot on disk or downloaded from a node. - [Yellowstone gRPC](https://carbon.sevenlabs.org/datasources/yellowstone-grpc.md): Stream accounts, transactions and blocks from any Yellowstone (Dragon's Mouth) Geyser gRPC endpoint with the lowest latency Carbon offers. ## Decoders Every program decoder page is listed under Optional with its crate and mainnet program ID. To find one by program ID, name or crate, call the MCP tool `find_decoder`. - [Decoders](https://carbon.sevenlabs.org/decoders.md): All 63 program decoders published with Carbon 2.0.0: crates, program IDs and what each one decodes. - [Core and SPL program decoders](https://carbon.sevenlabs.org/decoders/core-and-spl.md): Decode 8 Solana core and SPL programs in Rust, including SPL Token, Token-2022, System Program and Address Lookup Table, with Carbon decoder crates. - [DEX and AMM decoders](https://carbon.sevenlabs.org/decoders/dex-and-amm.md): Decode 22 Solana DEX and AMM programs in Rust, including Raydium AMM v4, Raydium CPMM, Raydium CLMM and PumpSwap, with Carbon decoder crates. - [Aggregator and routing decoders](https://carbon.sevenlabs.org/decoders/aggregators.md): Decode 4 Solana aggregator and routing programs in Rust, including Jupiter Swap, DFlow Aggregator v4 and OKX DEX, with Carbon decoder crates. - [Launchpad decoders](https://carbon.sevenlabs.org/decoders/launchpads.md): Decode 8 Solana launchpad programs in Rust, including Pump.fun, Meteora DBC, Raydium Launchpad and Boop, with Carbon decoder crates. - [Lending decoders](https://carbon.sevenlabs.org/decoders/lending.md): Decode 6 Solana lending programs in Rust, including Kamino Lending, marginfi v2, Jupiter Lend and Kamino Vault, with Carbon decoder crates. - [Perpetuals and derivatives decoders](https://carbon.sevenlabs.org/decoders/perpetuals.md): Decode 3 Solana perpetuals and derivatives programs in Rust, including Drift v2, Jupiter Perpetuals and Zeta Markets, with Carbon decoder crates. - [Liquid staking and restaking decoders](https://carbon.sevenlabs.org/decoders/liquid-staking.md): Decode 2 Solana liquid staking and restaking programs in Rust, including Marinade Finance and Solayer Restaking, with Carbon decoder crates. - [NFT and metadata decoders](https://carbon.sevenlabs.org/decoders/nfts.md): Decode 3 Solana NFT and metadata programs in Rust, including Metaplex Core, Bubblegum and Metaplex Token Metadata, with Carbon decoder crates. - [Bridge and messaging decoders](https://carbon.sevenlabs.org/decoders/bridges.md): Decode 2 Solana bridge and messaging programs in Rust, including Circle CCTP Token Messenger v2, with Carbon decoder crates. - [Other program decoders](https://carbon.sevenlabs.org/decoders/other.md): Decode 5 more Solana programs in Rust, including Jupiter DCA, Kamino Farms, Pump Fees and Raydium Liquidity Locking, with Carbon decoder crates. ## Optional - [Examples](https://carbon.sevenlabs.org/examples.md): Every runnable example in the Carbon 2.0.0 repository, what it shows, what it needs, the command to run it and the output to expect. - [Troubleshooting](https://carbon.sevenlabs.org/troubleshooting.md): Fixes for the errors and surprises you hit building and running Carbon 2.0 pipelines, from compile errors to rate limits, missing output and shutdown. - [Contributing](https://carbon.sevenlabs.org/contributing.md): Set up the Carbon repository, run the same checks as CI, add a decoder or a datasource, and open a pull request. Also how to improve these docs. - [Changelog](https://carbon.sevenlabs.org/changelog.md): Carbon's release history, from 0.3.0 to 2.0.0, with the breaking changes and migration notes for each version. - [Address Lookup Table decoder](https://carbon.sevenlabs.org/decoders/address-lookup-table.md): `carbon-address-lookup-table-decoder`, program ID `AddressLookupTab1e1111111111111111111111111` (Core & SPL). - [Associated Token Account decoder](https://carbon.sevenlabs.org/decoders/associated-token-account.md): `carbon-associated-token-account-decoder`, program ID `ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL` (Core & SPL). - [SPL Memo decoder](https://carbon.sevenlabs.org/decoders/memo-program.md): `carbon-memo-program-decoder`, program ID `MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr` (Core & SPL). - [SPL Name Service decoder](https://carbon.sevenlabs.org/decoders/name-service.md): `carbon-name-service-decoder`, program ID `namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX` (Core & SPL). - [SPL Token decoder](https://carbon.sevenlabs.org/decoders/token-program.md): `carbon-token-program-decoder`, program ID `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` (Core & SPL). - [Stake Program decoder](https://carbon.sevenlabs.org/decoders/stake-program.md): `carbon-stake-program-decoder`, program ID `Stake11111111111111111111111111111111111111` (Core & SPL). - [System Program decoder](https://carbon.sevenlabs.org/decoders/system-program.md): `carbon-system-program-decoder`, program ID `11111111111111111111111111111111` (Core & SPL). - [Token-2022 decoder](https://carbon.sevenlabs.org/decoders/token-2022.md): `carbon-token-2022-decoder`, program ID `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` (Core & SPL). - [BonkSwap decoder](https://carbon.sevenlabs.org/decoders/bonkswap.md): `carbon-bonkswap-decoder`, program ID `BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8p` (DEX & AMM). - [FluxBeam decoder](https://carbon.sevenlabs.org/decoders/fluxbeam.md): `carbon-fluxbeam-decoder`, program ID `FLUXubRmkEi2q6K3Y9kBPg9248ggaZVsoSFhtJHSrm1X` (DEX & AMM). - [Gavel decoder](https://carbon.sevenlabs.org/decoders/gavel.md): `carbon-gavel-decoder`, program ID `srAMMzfVHVAtgSJc8iH6CfKzuWuUTzLHVCE81QU1rgi` (DEX & AMM). - [Heaven decoder](https://carbon.sevenlabs.org/decoders/heaven.md): `carbon-heaven-decoder`, program ID `HEAVENoP2qxoeuF8Dj2oT1GHEnu49U5mJYkdeC8BAX2o` (DEX & AMM). - [Jupiter Limit Order decoder](https://carbon.sevenlabs.org/decoders/jupiter-limit-order.md): `carbon-jupiter-limit-order-decoder`, program ID `jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu` (DEX & AMM). - [Jupiter Limit Order v2 decoder](https://carbon.sevenlabs.org/decoders/jupiter-limit-order-2.md): `carbon-jupiter-limit-order-2-decoder`, program ID `j1o2qRpjcyUwEvwtcfhEQefh773ZgjxcVRry7LDqg5X` (DEX & AMM). - [Kamino Limit Order decoder](https://carbon.sevenlabs.org/decoders/kamino-limit-order.md): `carbon-kamino-limit-order-decoder`, program ID `LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF` (DEX & AMM). - [Lifinity AMM v2 decoder](https://carbon.sevenlabs.org/decoders/lifinity-amm-v2.md): `carbon-lifinity-amm-v2-decoder`, program ID `2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c` (DEX & AMM). - [Meteora DAMM v2 decoder](https://carbon.sevenlabs.org/decoders/meteora-damm-v2.md): `carbon-meteora-damm-v2-decoder`, program ID `cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG` (DEX & AMM). - [Meteora DLMM decoder](https://carbon.sevenlabs.org/decoders/meteora-dlmm.md): `carbon-meteora-dlmm-decoder`, program ID `LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo` (DEX & AMM). - [Meteora Pools decoder](https://carbon.sevenlabs.org/decoders/meteora-pools.md): `carbon-meteora-pools-decoder`, program ID `Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB` (DEX & AMM). - [OpenBook v2 decoder](https://carbon.sevenlabs.org/decoders/openbook-v2.md): `carbon-openbook-v2-decoder`, program ID `opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb` (DEX & AMM). - [Orca Whirlpools decoder](https://carbon.sevenlabs.org/decoders/orca-whirlpool.md): `carbon-orca-whirlpool-decoder`, program ID `whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc` (DEX & AMM). - [PancakeSwap decoder](https://carbon.sevenlabs.org/decoders/pancake-swap.md): `carbon-pancake-swap-decoder`, program ID `HpNfyc2Saw7RKkQd8nEL4khUcuPhQ7WwY1B2qjx8jxFq` (DEX & AMM). - [Phoenix v1 decoder](https://carbon.sevenlabs.org/decoders/phoenix-v1.md): `carbon-phoenix-v1-decoder`, program ID `PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY` (DEX & AMM). - [PumpSwap decoder](https://carbon.sevenlabs.org/decoders/pump-swap.md): `carbon-pump-swap-decoder`, program ID `pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA` (DEX & AMM). - [Raydium AMM v4 decoder](https://carbon.sevenlabs.org/decoders/raydium-amm-v4.md): `carbon-raydium-amm-v4-decoder`, program ID `675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8` (DEX & AMM). - [Raydium CLMM decoder](https://carbon.sevenlabs.org/decoders/raydium-clmm.md): `carbon-raydium-clmm-decoder`, program ID `CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK` (DEX & AMM). - [Raydium CPMM decoder](https://carbon.sevenlabs.org/decoders/raydium-cpmm.md): `carbon-raydium-cpmm-decoder`, program ID `CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C` (DEX & AMM). - [Raydium Stable Swap decoder](https://carbon.sevenlabs.org/decoders/raydium-stable-swap.md): `carbon-raydium-stable-swap-decoder`, program ID `5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h` (DEX & AMM). - [Stabble Stable Swap decoder](https://carbon.sevenlabs.org/decoders/stabble-stable-swap.md): `carbon-stabble-stable-swap-decoder`, program ID `swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ` (DEX & AMM). - [Stabble Weighted Swap decoder](https://carbon.sevenlabs.org/decoders/stabble-weighted-swap.md): `carbon-stabble-weighted-swap-decoder`, program ID `swapFpHZwjELNnjvThjajtiVmkz3yPQEHjLtka2fwHW` (DEX & AMM). - [DFlow Aggregator v4 decoder](https://carbon.sevenlabs.org/decoders/dflow-aggregator-v4.md): `carbon-dflow-aggregator-v4-decoder`, program ID `DF1ow4tspfHX9JwWJsAb9epbkA8hmpSEAtxXy1V27QBH` (Aggregators & routing). - [Jupiter Swap decoder](https://carbon.sevenlabs.org/decoders/jupiter-swap.md): `carbon-jupiter-swap-decoder`, program ID `JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4` (Aggregators & routing). - [OKX DEX decoder](https://carbon.sevenlabs.org/decoders/okx-dex.md): `carbon-okx-dex-decoder`, program ID `6m2CDdhRgxpH4WjvdzxAYbGxwdGUz5MziiL5jek2kBma` (Aggregators & routing). - [OnChain Labs DEX v2 decoder](https://carbon.sevenlabs.org/decoders/onchain-labs-dex-v2.md): `carbon-onchain-labs-dex-v2-decoder`, program ID `proVF4pMXVaYqmy4NjniPh4pqKNfMmsihgd4wdkCX3u` (Aggregators & routing). - [Boop decoder](https://carbon.sevenlabs.org/decoders/boop.md): `carbon-boop-decoder`, program ID `boop8hVGQGqehUK2iVEMEnMrL5RbjywRzHKBmBE7ry4` (Launchpads). - [Meteora DBC decoder](https://carbon.sevenlabs.org/decoders/meteora-dbc.md): `carbon-meteora-dbc-decoder`, program ID `dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN` (Launchpads). - [Moonshot decoder](https://carbon.sevenlabs.org/decoders/moonshot.md): `carbon-moonshot-decoder`, program ID `MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG` (Launchpads). - [Pump.fun decoder](https://carbon.sevenlabs.org/decoders/pumpfun.md): `carbon-pumpfun-decoder`, program ID `6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P` (Launchpads). - [Raydium Launchpad decoder](https://carbon.sevenlabs.org/decoders/raydium-launchpad.md): `carbon-raydium-launchpad-decoder`, program ID `LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj` (Launchpads). - [Vertigo decoder](https://carbon.sevenlabs.org/decoders/vertigo.md): `carbon-vertigo-decoder`, program ID `vrTGoBuy5rYSxAfV3jaRJWHH6nN9WK4NRExGxsk1bCJ` (Launchpads). - [Virtuals decoder](https://carbon.sevenlabs.org/decoders/virtuals.md): `carbon-virtuals-decoder`, program ID `5U3EU2ubXtK84QcRjWVmYt9RaDyA8gKxdUrPFXmZyaki` (Launchpads). - [Wavebreak decoder](https://carbon.sevenlabs.org/decoders/wavebreak.md): `carbon-wavebreak-decoder`, program ID `waveQX2yP3H1pVU8djGvEHmYg8uamQ84AuyGtpsrXTF` (Launchpads). - [Jupiter Lend decoder](https://carbon.sevenlabs.org/decoders/jupiter-lend.md): `carbon-jupiter-lend-decoder`, program ID `jupeiUmn818Jg1ekPURTpr4mFo29p46vygyykFJ3wZC` (Lending). - [Kamino Lending decoder](https://carbon.sevenlabs.org/decoders/kamino-lending.md): `carbon-kamino-lending-decoder`, program ID `KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD` (Lending). - [Kamino Vault decoder](https://carbon.sevenlabs.org/decoders/kamino-vault.md): `carbon-kamino-vault-decoder`, program ID `kvauTFR8qm1dhniz6pYuBZkuene3Hfrs1VQhVRgCNrr` (Lending). - [marginfi v2 decoder](https://carbon.sevenlabs.org/decoders/marginfi-v2.md): `carbon-marginfi-v2-decoder`, program ID `MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA` (Lending). - [Meteora Vault decoder](https://carbon.sevenlabs.org/decoders/meteora-vault.md): `carbon-meteora-vault-decoder`, program ID `24Uqj9JCLxUeoC3hGfh5W3s9FM9uCHDS2SG3LYwBpyTi` (Lending). - [Sharky decoder](https://carbon.sevenlabs.org/decoders/sharky.md): `carbon-sharky-decoder`, program ID `SHARKobtfF1bHhxD2eqftjHBdVSCbKo9JtgK71FhELP` (Lending). - [Drift v2 decoder](https://carbon.sevenlabs.org/decoders/drift-v2.md): `carbon-drift-v2-decoder`, program ID `dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH` (Perpetuals & derivatives). - [Jupiter Perpetuals decoder](https://carbon.sevenlabs.org/decoders/jupiter-perpetuals.md): `carbon-jupiter-perpetuals-decoder`, program ID `PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu` (Perpetuals & derivatives). - [Zeta Markets decoder](https://carbon.sevenlabs.org/decoders/zeta.md): `carbon-zeta-decoder`, program ID `ZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD` (Perpetuals & derivatives). - [Marinade Finance decoder](https://carbon.sevenlabs.org/decoders/marinade-finance.md): `carbon-marinade-finance-decoder`, program ID `MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD` (Liquid staking & restaking). - [Solayer Restaking decoder](https://carbon.sevenlabs.org/decoders/solayer-restaking-program.md): `carbon-solayer-restaking-program-decoder`, program ID `sSo1iU21jBrU9VaJ8PJib1MtorefUV4fzC9GURa2KNn` (Liquid staking & restaking). - [Bubblegum decoder](https://carbon.sevenlabs.org/decoders/bubblegum.md): `carbon-bubblegum-decoder`, program ID `BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY` (NFTs & metadata). - [Metaplex Core decoder](https://carbon.sevenlabs.org/decoders/mpl-core.md): `carbon-mpl-core-decoder`, program ID `CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d` (NFTs & metadata). - [Metaplex Token Metadata decoder](https://carbon.sevenlabs.org/decoders/mpl-token-metadata.md): `carbon-mpl-token-metadata-decoder`, program ID `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s` (NFTs & metadata). - [Circle CCTP Message Transmitter v2 decoder](https://carbon.sevenlabs.org/decoders/circle-message-transmitter-v2.md): `carbon-circle-message-transmitter-v2-decoder`, program ID `CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC` (Bridges & messaging). - [Circle CCTP Token Messenger v2 decoder](https://carbon.sevenlabs.org/decoders/circle-token-messenger-v2.md): `carbon-circle-token-messenger-v2-decoder`, program ID `CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe` (Bridges & messaging). - [Jupiter DCA decoder](https://carbon.sevenlabs.org/decoders/jupiter-dca.md): `carbon-jupiter-dca-decoder`, program ID `DCA265Vj8a9CEuX1eb1LWRnDT7uK6q1xMipnNyatn23M` (Other). - [Kamino Farms decoder](https://carbon.sevenlabs.org/decoders/kamino-farms.md): `carbon-kamino-farms-decoder`, program ID `FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr` (Other). - [Pump Fees decoder](https://carbon.sevenlabs.org/decoders/pump-fees.md): `carbon-pump-fees-decoder`, program ID `pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ` (Other). - [Raydium Liquidity Locking decoder](https://carbon.sevenlabs.org/decoders/raydium-liquidity-locking.md): `carbon-raydium-liquidity-locking-decoder`, program ID `LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE` (Other). - [Swig decoder](https://carbon.sevenlabs.org/decoders/swig.md): `carbon-swig-decoder`, program ID `swigypWHEksbC64pWKwah1WTeh9JXwx8H1rJHLdbQMB` (Other).