Middle/Senior Backend Engineer

XsollaRussiaOn-siteFull-timeSenior, 5–8 yearsListed 23 hours ago

Apply now

About this role

About the project

Xsolla ZK is building a cross-game infrastructure that empowers gamers to freely trade and use their digital assets without barriers. The backend team develops services for:

- Xsolla Bazaar — NFT marketplace for trading digital assets across Ethereum, Polygon, and Xsolla ZK chains

- Web3 Backpack — Smart wallet backend with account abstraction (ZK SSO 4337)

- Blockchain Services — Event scanners, transaction processors, and Web3 connectors

- BFF Layer — Backend-for-Frontend services orchestrating complex Web3 operations

Tech Stack:

- Language: Go (go-ethereum, ethkit, idiomatic concurrency patterns)

- Databases: MongoDB, PostgreSQL, Redis

- Message Queue: NATS, RabbitMQ, Kafka

- API: REST, WebSocket, gRPC, OpenAPI (Swagger)

- Blockchain Infrastructure:

- ZK Stack / ZKsync Era: EraVM, zksolc/zkvyper compilers, system contracts, bootloader, native Account Abstraction on zkSync-family chains

- Account Abstraction (ERC-4337): EntryPoint (v0.6–v0.8), UserOperation lifecycle (prepare→sign→submit→confirm), bundler and paymaster roles, ERC-7562 validation rules, ERC-6492 signature validation for undeployed accounts

- Ethereum L1: go-ethereum, abigen for smart contract bindings, RPC and indexer semantics

- Smart Contracts: Solidity, ERC-20/721/1155, modular account standards (ERC-7579 / ERC-6900), session keys (ERC-7710 / ERC-7715)

- Signature Schemes: EIP-712 typed data, ERC-1271 contract signatures, WebAuthn/passkey (P-256)

- Infrastructure: Docker, Kubernetes, GitLab CI/CD, Graylog

Key Technical Challenges:

- ZK Stack Integration: Working with EraVM execution environment, native Account Abstraction on zkSync-family chains, double resource accounting (EE gas + native computational resources), L1↔L2 communication via ZKsync Gateway, finality and reorg behavior

- Account Abstraction Backend Services: Implementing the ERC-4337 UserOperation lifecycle, integrating with bundlers and paymasters, handling gas estimation failure modes and counterfactual deployment

- Smart Contract Interaction: Generating Go bindings via abigen, handling factory dependencies for contract deployment, implementing EIP-712 transaction signing and ERC-1271 signature verification

- Session Keys & Delegated Permissions: Supporting scoped, time-limited, contract-allowlisted authority (ERC-7710 / ERC-7715) for gasless, prompt-free gameplay transactions

- Event Processing: Building blockchain event scanners for multiple chains (Ethereum, Polygon, Xsolla ZK), implementing reorg handling and transaction finality tracking

- High-Availability Architecture: Designing resilient microservices for NFT marketplace and wallet backends with real-time WebSocket updates

Responsibilities

- Develop backend services using Go with ethkit and go-ethereum for Ethereum interactions and RPC integration

- Integrate with ZK Stack infrastructure: work with EraVM, system contracts, and L1↔L2 messaging

- Build and maintain wallet backend indexing integrations for real-time token balance tracking and webhooks (via internal indexer or third-party providers)

- Design and implement APIs for NFT marketplace and orderbook services, including on-chain order matching and settlement flows

- Implement smart contract interaction layer using abigen-generated Go bindings for ERC-20/721/1155 tokens

- Build Account Abstraction (ERC-4337) backend support: UserOperation submission and monitoring, paymaster gas-sponsorship logic, session-key issuance and revocation

- Develop blockchain event scanners with reorg handling for Ethereum, Polygon, and Xsolla ZK chains

- Implement BFF (Backend-for-Frontend) services orchestrating complex multi-chain operations

- Design efficient caching and indexing strategies for on-chain data using Redis and MongoDB

- Write comprehensive tests including integration tests with local ZKsync test environment

- Document APIs using OpenAPI/Swagger specification

- Monitor and troubleshoot production systems, handle blockchain-specific edge cases (stuck transactions, gas estimation)

Nice to Have

Required:

- 2+ years of commercial experience with Go

- Strong understanding of MongoDB and PostgreSQL (query optimization, indexing)

- Experience with Redis for caching and session management

- Knowledge of message queues (NATS, RabbitMQ, or similar)

- Experience designing and implementing REST APIs with OpenAPI/Swagger

- Understanding of microservices architecture patterns

- Experience with Docker and container orchestration basics

- Proficiency with Git and GitLab CI/CD

- Solid understanding of distributed systems concepts

Preferred:

- Experience with Ethereum/EVM blockchain integration :

- Working with go-ethereum library and RPC nodes

- Smart contract interaction via ABI bindings (abigen)

- Understanding of transaction lifecycle, gas estimation, nonce management

- Knowledge of ZK Stack / ZKsync Era :

- EraVM execution model and differences from EVM, including native Account Abstraction on zkSync-family chains

- System contracts (ContractDeployer, NonceHolder, etc.)

- L1↔L2 communication, bridging, and finality/reorg behavior

- Working knowledge of ERC-4337 Account Abstraction :

- EntryPoint contract and the UserOperation lifecycle

- Bundler and paymaster roles, gas estimation failure modes

- Session keys and delegated permissions (ERC-7710 / ERC-7715)

- Familiarity with signature schemes : EIP-712 typed data, ERC-1271 contract signatures, WebAuthn/passkey signers

- Exposure to AA infrastructure providers (any of: Sequence, thirdweb, Privy, Dynamic, Turnkey, Pimlico, Alchemy, Biconomy, ZeroDev, Safe{Core}) for wallet, indexer, or transaction-relay integrations

- Knowledge of token standards (ERC-20, ERC-721, ERC-1155) and their implementation details

- Experience with blockchain event processing : event scanning, reorg handling, finality

- Understanding of DeFi concepts and NFT marketplace mechanics

- Experience with Kubernetes for container orchestration