mainnetreadingslotnot readrpcnot readstorenot read
System

Architecture

One engine runs every state change in PYNODE. These are its eight stages, what each one does, and what each one refuses.

01

Validate

The intent is parsed against a schema. Addresses must be base58 of the right length; amounts must be whole numbers written as strings, because JSON has no bigint and a u64 parsed as a number is silently rounded above 2^53.

refusesa malformed address, a zero amount, a sender equal to the recipient, a decimal in a base units field

02

Prepare

Instructions are assembled server side. For a transfer that means reading which token program owns the mint, deriving the recipient's associated account, and adding an idempotent create when it does not exist yet. For a swap and a launch the instructions come from Jupiter and pump.fun respectively, and the preview says so.

refusesa mint that is not a mint, a mint account that already exists at a launch address

03

Simulate

The unsigned transaction is simulated against mainnet with signature verification off, so the only failures reported are real ones. The compute units consumed are read from that simulation rather than guessed.

refusesanything the chain says would fail, before a wallet is ever opened

04

Review

A sentence, a numbered list of what the transaction does, and every cost with how it was obtained: measured, or a protocol constant. The sentence and the bytes are generated from the same intent, so they cannot describe different things.

refusesnothing: this is where a person decides

05

Sign

Your wallet signs. PYNODE holds no key, has no field for a seed phrase anywhere, and never asks for one. A launch adds a second signature from a mint key generated in your browser and discarded after use.

refusesa wallet that will only sign and send together is told so rather than silently bypassing the next stage

06

Submit

The signed transaction is decoded and its MESSAGE region is compared byte for byte with the message that was prepared. Only an exact match is broadcast.

refusesany transaction that changed between the review and the network, with nothing sent

07

Confirm

The signature is polled until the chain reports it confirmed or failed, or until its blockhash expires. Expired is reported as expired.

refusesresubmitting. A retry with a fresh blockhash is a second transaction that can land beside the first

08

Record

The outcome is written with its signature and slot. A payment is settled, and a launch recorded, only after a server has read the chain back and found what it expected.

refuseswriting a row because an API returned 200

What this instance is wired to, right now

chain endpointmainnet.helius-rpc.comgenesis hash matches the declared cluster
current slot458,885,158read at 2026-10-19T15:35:25.750Z
storepynodeserver time 2026-10-19T15:35:25.783Z
swap routingJupitera quote older than 20s is refused, and the server re-quotes before building
launch program6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6PCreateV2 [214,144,76,236,95,139,49,180], 16 accounts, decoded from a live launch at slot 457662095
programs deployed by PYNODEnonenothing here custodies funds