On this page
Build with familiar tools and explicit interfaces.
Source: Paxeer-X-Network/sdk/

Choose the right development surface

Paxeer X has three complementary SDK surfaces. The in-tree Cosmos SDK powers paxd and native chain modules. The XDK provides application-facing clients for LayerX transactions, proofs, identity, exchange, bridge, launchpad, and native precompile calls. The platform API connects paid resources, merchant checkout, agent spending, receipts, and webhooks.

Chain maintainers work in sdk/, modules/, and node/. Application developers use agent/sdk/, platform/sdk/, and the platform middleware and framework integrations. docs/system/sdk.md indexes exported SDK symbols and their source paths.

Cross-surface application lifecycle

  1. Resolve the unified EVM, Cosmos, and LayerX identity and select the asset denomination or pointer.
  2. Use the matching client or native ABI to deposit custody funds, submit an intent, transfer an asset, or create a market.
  3. Track transaction receipts together with kernel receipts, checkpoint finality, and withdrawal or settlement status.
  4. Verify proofs against the appropriate finalized root before fulfilling a payment or releasing funds.

The network overview explains how these execution surfaces compose. An EVM transaction receipt and a finalized kernel checkpoint represent different stages of an application lifecycle.

Overview

Paxeer X vendors a fork of the Cosmos SDK directly in the monorepo under Paxeer-X-Network/sdk/. This is not a published Go module or npm package. It is an in-tree dependency for the paxd binary and Paxeer chain modules.

Why a Fork?

Paxeer X maintains a fork to support:

  • Custom storage engines (MEMIAVL, Giga)
  • EVM integration and pointer contracts
  • Fast iteration without waiting for upstream releases
  • Paxeer X-specific consensus and execution optimizations
  • Co-location with Paxeer modules and WASM runtime

Upstream Base

The fork is based on Cosmos SDK but diverges significantly. It is not compatible with upstream Cosmos SDK releases without careful rebasing and testing.

Warning: Do not assume drop-in compatibility with standard Cosmos SDK tooling or libraries. Paxeer X’s SDK is a custom fork.

Directory Structure

PathPurpose
baseapp/Application framework (ABCI, routing, ante handlers)
client/CLI framework and transaction builders
server/Node server, gRPC, REST gateway
types/Core SDK types (messages, coins, errors, context)
x/Standard Cosmos modules (bank, auth, staking, gov, etc.)
proto/Protobuf definitions for SDK modules
store/State store abstraction and implementations
simapp/Reference application for testing

Key Modules

Paxeer X’s SDK includes standard Cosmos modules:

ModulePurpose
x/authAccount authentication and transaction signing
x/bankToken transfers and balance management
x/stakingProof-of-Stake validator set and delegation
x/distributionStaking rewards and fee distribution
x/govOn-chain governance and proposals
x/slashingValidator penalties for misbehavior
x/crisisInvariant checking and chain halts
x/evidenceDouble-sign evidence submission
x/paramsModule parameter management
x/upgradeCoordinated chain upgrades

Plus Paxeer X-specific modules under Paxeer-X-Network/modules/:

  • evm — EVM execution and JSON-RPC
  • epoch — Epoch tracking
  • oracle — Price feeds
  • tokenfactory — Custom token creation
  • mint — Token minting

BaseApp

The core application framework (baseapp/) handles:

  • ABCI interface to Tendermint consensus
  • Message routing to module handlers
  • Ante handlers (gas, signatures, nonces)
  • Transaction execution and state commits
  • Query routing

Paxeer extends BaseApp for EVM transaction routing and concurrent execution (OCC).

Client & Server

The SDK provides:

  • CLI: paxd command-line interface (transaction builders, queries)
  • gRPC: Module query and transaction services
  • REST: HTTP gateway (gRPC-Gateway)
  • Tendermint RPC: Block and transaction queries

See REST & gRPC for API documentation.

State Store

The SDK's store/ abstraction is implemented by Paxeer X’s custom storage engines:

  • MEMIAVL: In-memory IAVL tree (legacy)
  • Giga: High-performance flat key-value store

See Storage for engine details.

Protobuf Definitions

SDK types are defined in sdk/proto/. Regenerate Go code with:

cd Paxeer-X-Network
ignite generate proto-go

Requires Ignite CLI v0.23.0. See Paxeer-X-Network/api/README.md.

Building Against the SDK

Paxeer modules import the SDK from the in-tree path:

import (
    sdk "github.com/Sidiora-Labs/Paxeer-X-Network/sdk/types"
    "github.com/Sidiora-Labs/Paxeer-X-Network/sdk/store"
)

No go.mod replacement directives are needed because the SDK is part of the monorepo.

Makefile Targets

The repository Makefile includes SDK-related targets:

# Build paxd from the unified repository root
make paxeer-build

# Run the chain tests
make paxeer-test

Documentation

The SDK fork includes upstream Cosmos SDK documentation under sdk/docs/. Note that Paxeer X-specific modifications may not be fully reflected in those docs.

Upstream Resources

Warning: Upstream documentation describes the standard Cosmos SDK, not Paxeer X’s fork. Treat it as reference only.

Contributing to the Fork

Changes to Paxeer-X-Network/sdk/ affect the entire Paxeer chain. Test thoroughly:

  1. Edit code under sdk/
  2. Rebuild paxd: make paxeer-build
  3. Run unit tests: make test
  4. Test with Docker cluster: make docker-cluster-start
  5. Run integration tests: make test-integration

Differences from Upstream Cosmos SDK

Paxeer X’s SDK fork diverges from upstream in several areas:

  • Custom storage backends (MEMIAVL, Giga)
  • EVM module integration and pointer contracts
  • Optimistic concurrency control (OCC) for parallel execution
  • Receipt indexing and synthetic transactions
  • Paxeer X-specific ante handlers and gas metering
  • Chain-specific upgrade logic

Do not assume compatibility with standard Cosmos SDK tooling (e.g., CosmJS, Keplr) without testing.

Go Module Path

github.com/Sidiora-Labs/Paxeer-X-Network/sdk

This is an internal module within the Paxeer monorepo, not a standalone published module.

Paxeer X · System documentationBack to top ↑

Ask Paxeer X Docs

Answers from the documentation.

What would you like to know?

Ask a question, find a guide, or get help with your next step.

Enter to send · Shift+Enter for a new line