# `gno.land/r/moul/pilot/v0`
moul's realm-driven account. It holds the funds and the identity; moul's key pilots it; its
powers arrive afterwards as separate realms this one never imports.
All behaviour is in [`p/moul/pilot`](../../../p/moul/pilot), which explains the two grants
and why `Revoke` takes back a purse but never an identity. This realm is the instance: a
`*pilot.Pilot`, one-line crossing re-exports forwarding `cur`, and `Render`.
A power to try it with: [`r/moul/x/pilotdemo`](../x/pilotdemo).
**`Claim` is pinned to `g1manfred47kzduec920z88wfr64ylksmdcedlf5` in the source.** A deploy
lands in one block and the claim is a second transaction, so taking the owner from whoever
calls first is a race anyone on chain can win, and this path can never be redeployed to undo
it.
```sh
# once, and only this address can
gnokey maketx call -pkgpath gno.land/r/moul/pilot/v0 -func Claim ... moul
# authorise a path that does not have to exist yet
gnokey maketx call -pkgpath gno.land/r/moul/pilot/v0 -func Approve \
-args gno.land/r/moul/x/pilotdemo/v0 -args payout -args false -args 1000 ... moul
```
**Public on purpose.** A module realm imports this one and persists objects it owns, both of
which a private realm refuses, and a redeploy would wipe the owner, the roster and every
budget while leaving the coins at the treasury address.
<!-- BEGIN GNOCONTRACTS FOOTER (generated by `make readmes`; do not edit below) -->
---
Part of **[moul/gno-contracts](https://github.com/moul/gno-contracts)** — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.
**Dependency graph:**

> ⚠️ **Disclaimer:** provided as-is, without warranty; not security-audited. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md).
<!-- END GNOCONTRACTS FOOTER -->
Address() string
Approve(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, path string, subpath string, identity bool, budget int64)
Claim(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})
Exec(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, path string, args string) string
Fund(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, path string, amount int64)
Handle() *gno.land/p/moul/pilot/v0.Account
Render(path string) string
Revoke(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, path string)
SetBudget(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, path string, budget int64)
SubAddress(path string) string
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.