Skip to main content

Test with mobile

Use mobile when a person needs to review, approve, or sign something produced by a Gora app. There are two related flows: Neither flow gives Gora the user’s private key.

When to use mobile

Use mobile for:
  • transfers
  • wallet actions
  • smart-wallet approvals
  • gateway fulfillment signatures
  • any result that moves value or changes chain state
For pure off-chain results, mobile is optional.

App output shape

A mobile-signing app can return:
The Gora node can fill missing request metadata such as request id, app id, and timestamps before publishing to a signing surface.

Local Dev Bridge

During development, a bridge service may expose pending actions to the mobile app.
The bridge is a development helper. It is not a replacement for contract checks. gora devnet up starts the bridge by default and exposes it through ngrok:
Gora publishes signing requests to the VM-local bridge URL. The mobile app, running on another computer, should point at the public bridge URL. If you start gora node serve manually, configure a signing-request sink with:
Or set one of:

What users should review

Mobile should show:
  • app name and app id
  • chain
  • sender
  • recipient
  • amount and unit
  • policy or package hash
  • attestation/result hash when available
  • risk notes
Users should reject anything unexpected.

Dev keys

For local tests, import only dev-only keys:
  • Base hex private key
  • Solana JSON/base58/base64/hex keypair
  • Algorand 25-word mnemonic or raw key format
See Devnet wallets and keys. Never import production keys into a local test build.

After approval or signing

After mobile signs, the signed response still needs to be submitted or fulfilled. Common submission modes: Your contract or gateway should still verify:
  • Gora result or attestation
  • app id
  • output hash
  • user signature
  • policy limits
  • replay protection

Quick test flow

Then open the mobile app, review the pending request, and sign with a Devnet key. Next: Troubleshooting.