Xsolla
Software Engineer
- Location
- Remote USA
- Work type
- Remote · Full-time
- Salary
- Not listed
- Posted
- (2 weeks ago)
About the role
Responsibilities:
WHAT YOU WILL OWN
-
Features end to end: backend, frontend and production
-
The on-chain / off-chain architecture of your product: what lives in contracts, what lives in services, and how the two stay consistent. You make these decisions and justify them in writing
-
Security and correctness of what you ship: signing flows, interactions with contracts that hold user assets, keys and secrets
-
Production operation of your services, as part of the team's on-call rotation
WHAT YOU WILL DO
-
Build backend services in Go and TypeScript: chain indexing, transaction relaying, event processing, APIs for dApps and SDKs
-
Build infrastructure backend services for tokenizing in-game items and currencies
-
Build dApp frontends in React: wallet connection, transaction signing, on-chain state in the UI
-
Integrate smart wallets into products: accounts, paymasters, bundlers
-
Develop SDKs used by game studios and partners
-
Monitor services and contracts in production and take part in on-call
-
Review code
-
Set up and maintain AI tooling in the repositories (Claude Code, Codex, Cursor: rules, context, harness) so the team uses it effectively
Qualifications & Skills:
Experience
-
5+ years of commercial software development, with senior-level production experience across backend and frontend
-
dApps that you shipped to production and maintained
Web3 libraries and wallets
-
viem and wagmi in production: clients and transports, contract reads and writes with typed ABIs, event subscriptions, wagmi hooks and connectors, caching and invalidation of on-chain state
-
How wallet signers work: EOAs, browser and embedded wallets, smart accounts; personal_sign (EIP-191) and typed data (EIP-712); the EIP-1193 provider; network switching
-
Hands-on experience with smart wallets: UserOperations, gas sponsored via paymasters, signature validation for contract accounts (ERC-1271)
Backend
-
Go and TypeScript (Node.js) for production services
-
Processing on-chain events: idempotency, reorg handling, retries
-
Asynchronous messaging and event-driven design (Kafka, RabbitMQ or NATS): delivery guarantees, ordering, reprocessing
-
Relational databases (PostgreSQL) and caching (Redis)
-
Designing REST and gRPC APIs: versioning, backward compatibility
Frontend
-
React and TypeScript: rendering model, state management, performance
-
Web security fundamentals: XSS, CSRF, CSP, safe handling of signatures and keys in the browser
Smart contracts
-
Reading and understanding Solidity contracts and the EVM (storage, gas, call semantics, proxy upgrade patterns, access control) well enough to integrate with them safely and review changes
-
Common contract vulnerability classes (reentrancy, front-running / MEV, oracle manipulation, signature replay) and how they affect the off-chain side
Operations
-
Containers and orchestration (Docker, Kubernetes) at the level of deploying and debugging your own services
-
Observability (we use Datadog; experience with Prometheus, Grafana, ELK / Graylog or OpenTelemetry also counts): metrics, logs, tracing and alerting for services and contracts; diagnosing incidents in production
Engineering practices
-
Testing: unit, integration, E2E
-
Git, CI/CD (GitLab CI or similar)
AI-assisted engineering
-
Daily hands-on use of AI coding tools (Claude Code, Codex, Cursor) for development and review, including configuring them for a repository
English
-
Spoken English at B2 level or higher
Nice to Have:
-
zkSync / ZK Stack and the specifics of the zk-rollup stack
-
Designing, writing and testing smart contracts in Solidity with Foundry; deploying and upgrading them safely
-
Building ERC-4337 infrastructure yourself (bundlers, paymasters); EIP-6963, EIP-5792
-
DeFi: DEX and AMM mechanics
-
NFTs and marketplaces: ERC-721, ERC-1155, auction mechanics
-
L2 infrastructure: running nodes, indexers, bridges
-
Designing SDKs for external developers
-
Gaming domain experience
How We Work:
-
Decisions in writing. Significant technical decisions are written up as an RFC or ADR that lays out the options and trade-offs. We discuss the document, not a blank whiteboard.
-
AI is part of everyday engineering. We use AI coding tools for development and review, and we treat configuring them for a codebase as real engineering work.
-
The team. You will work alongside product managers, designers, smart contract, backend and frontend engineers, QA and DevOps.
How We Hire:
-
Intro call. Your background, your motivation and the role.
-
Technical interview. Built directly on the Responsibilities and Qualifications & Skills sections above. We won't ask about anything this posting doesn't promise.
-
Bar raiser. An engineer from outside the hiring team checks that you raise the overall engineering bar.