> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.chrt.com/prod/docs/concepts/connections/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server. # Connections > The directory, the connect handle, default rate sheets, and the difference between on-platform and off-platform partners on chrt. A **connection** is the link between two organizations on chrt. You can only assign an order to a provider you're connected with — connections are the gate. This page covers how connections are made, what a **connect handle** is, how default rate sheets attach to a connection, and the difference between **on-platform** and **off-platform** partners. ## Org modes: shipper and provider Every chrt organization is created in one of two **modes**, picked during [onboarding](/help/getting-started/sign-in): | Mode | Role | Example | | ------------ | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | | **Shipper** | Places orders and pays for them. | A pharma manufacturer placing same-day delivery orders. | | **Provider** | Runs orders and gets paid. Covers both **forwarders** (who broker the work to others) and **couriers** (who execute it). | A regional courier company; an international freight forwarder. | A connection always links a shipper to a provider, or a provider to another provider (e.g. a forwarder connecting to a courier in another city). Shippers do not connect to other shippers. ## The directory and the connect handle Every chrt org has a **public handle** — a short, unique identifier picked at setup. The handle drives the public profile URL: ``` https://chrt.com/@your-handle ``` The **directory** at [chrt.com/directory](https://chrt.com/directory) is the searchable index of every public profile. Anyone with a chrt account can search the directory by handle, name, or service area, open a profile, and click **Connect** to send a connection request. Two ways to connect: * **From the directory** — search, open the profile, click **Connect**. * **From a shared link** — the provider sends you their `https://chrt.com/@their-handle` URL. If you don't yet have a chrt account, the link offers a **Sign Up and Connect** flow that creates your org and lands it already connected to theirs. See [Connecting with providers](/shippers/connecting-providers) for the shipper-side walkthrough. ## Connection states | Status | Meaning | | -------- | -------------------------------------------------------------------------------------------------------- | | Pending | One side has sent a request; the other side hasn't accepted yet. | | Active | Both sides have accepted. Orders can be assigned across the connection. | | Archived | The connection has been retired. Existing orders aren't affected but new orders can't be assigned to it. | ## Default rate sheet Every active connection has a **default rate sheet** slot. The default rate sheet is the pricing template that auto-applies to every new order assigned across that connection — you don't have to pick one each time. Defaults are kept per connection direction: * A forwarder ↔ shipper connection has the forwarder's **shipper-pay-provider** default — what the forwarder charges that shipper. * A forwarder ↔ courier connection has the forwarder's **provider-pay-provider** default — what the forwarder pays that courier. * A courier ↔ driver pairing (not a connection per se, but stored similarly) has the courier's **provider-pay-driver** default — what the courier pays that driver. You can override the default on any individual order or task group. See [Billing primitives](/docs/concepts/billing-primitives) for how rate sheets attach to task groups. ## On-platform vs off-platform Some of the providers and shippers you work with may not have chrt accounts. chrt models them as **off-platform** records: | Connection kind | What it does | What it doesn't do | | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | **On-platform** | Both orgs are on chrt. Orders, messages, and statements are visible to both sides in-app. Tracking, artifacts, and Stripe Connect work end-to-end. | — | | **Off-platform** | You maintain a local record of the partner inside your org. Orders can reference them as the shipper or as a provider. | The partner cannot sign in, see the order, accept assignments, or upload artifacts. You dispatch and track through your existing channels with them. | Off-platform records live under [chrt.com/connections](https://chrt.com/connections) on the **Off-platform** tab. If the off-platform partner later signs up for chrt, you can connect to them normally and migrate forward. See [Off-platform providers](/shippers/off-platform) for the shipper-side workflow. ## Related guides * [Roles and permissions](/docs/concepts/roles) — which roles can manage connections. * [Billing primitives](/docs/concepts/billing-primitives) — default rate sheets and per-connection pricing. * [Connecting with providers (shippers)](/shippers/connecting-providers) — shipper-side connection flow. * [Managing your courier network (forwarders)](/forwarders/network) — forwarder-side network management. * [Off-platform providers](/shippers/off-platform) — recording partners who aren't on chrt. > How chrt orgs find each other, link up, and exchange orders.