Skip to main content

Set policy and payments

policy.json is your app’s rule book. It tells Gora, wallets, and contracts what the app is allowed to request. Declaring a policy does not grant transaction authority. The public managed testnet requires a separate wallet-approved agent policy or on-chain vault authorization. See Agent identities and signing. Test GORA AI payments are also separate from gas, stake and collateral; follow AI credits before the first provider attempt. A good first policy is strict:
  • one chain
  • one action
  • one or two recipients
  • low amount limits
  • manual mobile approval

Example policy

Important fields

Execution modes

Who pays?

The owner wallet signs locally. If a Base/Solana managed agent is explicitly authorized, its separate key is held by the VM and its wallet needs test gas. The metadata example above does not describe that managed custody; disclose the actual execution mode you choose. Possible app designs include:

Manual mobile signing flow

This is the recommended first flow for anything that moves value.

Pre-approved flow

Use this only after manual signing is working.

Units by chain

On the public testnet, Algorand vault/gateway flows and separately approved Base/Solana managed-agent writes are live. Generic metadata fields do not enable every execution mode in the table: use the implemented Base/Solana policy flow or Algorand vault path, and check current endpoints.

Validate policy changes

After editing policy.json:
Then redeploy:
Next: Devnet quickstart.