Cosmos SDK Fork
Paxeer X’s in-tree Cosmos SDK fork with Paxeer X-specific modifications and extensions.
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
- Resolve the unified EVM, Cosmos, and LayerX identity and select the asset denomination or pointer.
- Use the matching client or native ABI to deposit custody funds, submit an intent, transfer an asset, or create a market.
- Track transaction receipts together with kernel receipts, checkpoint finality, and withdrawal or settlement status.
- 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.
Directory Structure
| Path | Purpose |
|---|---|
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:
| Module | Purpose |
|---|---|
x/auth | Account authentication and transaction signing |
x/bank | Token transfers and balance management |
x/staking | Proof-of-Stake validator set and delegation |
x/distribution | Staking rewards and fee distribution |
x/gov | On-chain governance and proposals |
x/slashing | Validator penalties for misbehavior |
x/crisis | Invariant checking and chain halts |
x/evidence | Double-sign evidence submission |
x/params | Module parameter management |
x/upgrade | Coordinated chain upgrades |
Plus Paxeer X-specific modules under Paxeer-X-Network/modules/:
evm— EVM execution and JSON-RPCepoch— Epoch trackingoracle— Price feedstokenfactory— Custom token creationmint— 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:
paxdcommand-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-goRequires 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-testDocumentation
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
- Cosmos SDK Docs (upstream, may diverge from Paxeer)
- Cosmos Tutorials (upstream concepts apply)
- GoDoc (upstream SDK, not Paxeer X’s fork)
Contributing to the Fork
Changes to Paxeer-X-Network/sdk/ affect the entire Paxeer chain. Test thoroughly:
- Edit code under
sdk/ - Rebuild
paxd:make paxeer-build - Run unit tests:
make test - Test with Docker cluster:
make docker-cluster-start - 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/sdkThis is an internal module within the Paxeer monorepo, not a standalone published module.