> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cowboy.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Networks

> Choose a development environment, its RPC and actor gateway, and verify funding and block timing

Cowboy's hosted environments are development networks. State and deployed actor
addresses can change after a reset; testnet and mainnet have not launched.

**Cloud is the only network reachable from the public internet.** Outside
developers use Cloud (`--env cloud`) and fund a new wallet with the one-time
new-account credit (`cowboy credit claim --env cloud`: you sign in with Google
in a browser, or, with no browser, approve the code it prints on any device). Canyon, Mesa and Bigsky are internal team networks:
their RPCs resolve to private addresses and only work from Cowboy's network.

## RPC and gateway domains

Gateway domains below come from the environment deployment configuration. An
address-based URL includes the actor's **lowercase 0x-prefixed, 40-hex-digit
address**. For example, `<0xactor>` means that full address, not a registered name.

| Environment | RPC | Actor URL | Block timing | Faucet |
| - | - | - | - | - |
| Canyon (internal) | `https://rpc.canyon.cowboylabs.net` | `https://<0xactor>.canyon.cowboylabs.net/` | About 1 second; measure the current interval | RPC `/faucet`, when advertised as enabled |
| Mesa (internal) | `https://rpc.mesa.cowboylabs.net` | `https://<0xactor>.mesa.cowboylabs.net/` | About 1 second; measure the current interval | RPC `/faucet`, when advertised as enabled |
| Bigsky (internal) | `https://rpc.bigsky.cowboylabs.net` | `https://<0xactor>.bigsky.cowboylabs.net/` | Measure current block timestamps | RPC `/faucet`, when advertised as enabled |
| Cloud (public) | `https://rpc.cloud.cowboy.inc` | `https://<0xactor>.cloud.cowboy.inc/` | About 1 second; measure the current interval | No faucet; one-time new-account credit via `cowboy credit claim --env cloud` |

Check the selected RPC's `/chain-info` for the network identity and faucet
metadata. Faucet availability and limits are environment policy; a listed RPC
does not promise an enabled or unlimited faucet. For Canyon:

```bash theme={"system"}
cowboy status --env canyon
cowboy faucet request --env canyon
```

The faucet funds the selected wallet. Dashboard signup credit is a separate
policy with its own limits. For a custom RPC, pass `--rpc-url` explicitly; a
custom endpoint does not imply a public gateway domain.

After deployment, use the actor address returned by the CLI and this environment's
URL pattern. CLIs with `gateway_url` support return the URL from deployment and
`cowboy actor inspect --json`; older CLIs may require constructing it from the
verified domain. A URL only serves the routes installed with that actor, and
handler traffic requires the actor to have enough CBY.

## Match the runtime before deployment

Project deployment checks the selected RPC's `/actor/runtime-profile/v2`. The
runtime contract must match, and the CLI's SDK requirement must use the same
family with a `min_revision` no greater than the network's SDK support revision.
An SDK source digest or compiler version alone does not determine v2
compatibility. Deploy also checks required host features, runtime policy and
execution limits.

Only when the v2 endpoint returns HTTP 404 does the CLI read
`/actor/runtime-profile/v1`, which requires an **exact** `contract.sdk_digest`
match. An unavailable, malformed or incompatible v2 response stops deployment;
do not work around it by substituting a v1 profile.

The node build shown by `cowboy status` is numbered independently from CLI
releases. Inspect the CLI's `actor_toolchain` with `cowboy version --json` and
compare it with the network requirements. New [public CLI release
notes](https://github.com/cowboyinc/cowboy-cli/releases) include that metadata
when available. If a release does not report it, or no published release matches,
ask the network operator for a compatible paired toolset. A latest-release label
alone does not establish compatibility, and a newer CLI can require a newer
network. Keep the deployment preflight enabled.

## Convert time to blocks

A block count is not a wall-clock duration. For the active network, read `/height`
and two recent `/block/<height>` responses, then calculate:

```text theme={"system"}
seconds_per_block = (last_timestamp_ms - first_timestamp_ms) / 1000 / (last_height - first_height)
interval_blocks = ceil(requested_seconds / seconds_per_block)
```

Use the returned heights and positive timestamps from the same chain. Sample
multiple intervals, and measure again after a reset or configuration change. Do
not substitute a guessed 3-second interval. At **1 second per block**, an hour is
about 3,600 blocks, a day 86,400, and a week 604,800. State the measured assumption
when proposing a timer. For “every Monday,” also align the first firing with the
requested weekday and timezone. If timing cannot be measured, leave the schedule
unconfigured rather than silently choosing a period.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.