Gora developer docs
Gora runs your app code off-chain, produces a committee-attested result, and gives wallets or contracts the information they need to act on-chain. The Gora testnet is live. You develop on your own machine with thegora CLI and deploy to the public testnet endpoint — no VM, no local chain stack, no tunnels:
- Off-chain apps that live on Gora. Your code is deployed to the network, invoked on demand (or on a schedule), and returns signed, attested results. No smart contract required.
- Off-chain apps that serve smart contracts. Your contract asks for data through the Gora gateway (or your app pushes results to your contract), and Gora delivers a committee-signed callback on-chain.
Quickstart — deploy your first app in 5 minutes
Everything below runs against the live testnet endpointhttps://gora-bridge.74.241.248.103.nip.io.
1 … and the next 2 …. Edit src/program.wat to make it do what you want (the commented llm/http_get imports turn it into an agent or oracle — see the WASM runtime reference).
The invoke response contains your app’s output, the billing settlement, and the state root before/after execution. To ship a change: edit the app, set a new version_label in gora.app.json, and run gora deploy . again.
If gora deploy fails with only the current owner may publish an upgrade, someone else already owns that app id — pick a different app name. upgrade must publish a new version label means it is your app: bump version_label.
Two things to know about the public testnet: (1) it runs WASM apps — JavaScript/Python are only available on a node you run yourself, because they run unsandboxed (see runtime reference). (2) Your api.token is your developer identity — the first token to deploy an app id owns it, and only that token can upgrade it, so no one can overwrite your work. It’s free to build (no GORA needed to deploy or invoke); GORA only matters for validator staking and on-chain prize/payment flows.
What to read
Safety rules
- Gora app code returns JSON; it should not hold private keys.
gora deploydeploys the Gora app package, not chain contracts.gora contract deploy --node <url>resolves or records chain contract metadata from the Gora node.- Chain execution happens through a gateway, wallet, contract, mobile signature, or submitter.
- Testnet keys and mnemonics are for testing only. Never reuse them on mainnet.