# Shipping

> What postage costs, where we ship, which carriers carry your parcel, how the tracking number reaches you, and what to do when one arrives damaged.

Source: https://x3dstudios.com/docs/studio/shipping  ·  Updated: 2026-10-21

Everything ships from Austin, Texas. Postage is a flat rate that depends on the destination, the order value, and — in the US — which of two speeds you pick: $7 standard or $15 express, $30 international. This page covers what you pay, how fast each service is, where we ship, when a parcel actually leaves the building (which Priority print changes), how the tracking number reaches you, and who to contact when one goes wrong.

## What postage costs

| Service | Flat rate | Transit after dispatch | Free at |
| --- | --- | --- | --- |
| US standard | $7.00 | 4–6 business days | $49.50 and up |
| US express | $15.00 | 2–3 business days | Never — it costs us more than the margin |
| International | $30.00 | Not quoted | $500.00 and up |

*One definition drives the quote and the charge, so the cart total and the Stripe total cannot drift apart.*

Postage is charged as its own line item naming the service you picked: Standard Shipping, Express Shipping or International Shipping. Its description carries the transit window and, where the service has a threshold, the threshold that applies to it — so the standard line reads "4–6 business days · free on orders $49.50+", the international line reads "free on orders $500+", and the express line says only "2–3 business days" because express is never free. It is a line item rather than a Stripe shipping option on purpose: a gift card can settle a line item, so a card that covers the whole order covers the postage too. An empty basket ships for nothing rather than showing a total made entirely of postage. Buy Now on a single store product adds the same line, priced from the same table with the same thresholds, so a product costs the same to send whichever button you press.

> **The instant quote on /print already includes postage** — The quote panel on /print and in the design studio shows Shipping as its own line — $7 standard or $15 express in the United States, or $30 international, whichever is selected under it — and folds it into the total with no free threshold applied, because that page quotes one file before there is a basket for a threshold to be measured against. That is what Print & Ship charges. Add the file to the cart instead and the item price excludes postage, so the cart charges it once for the whole basket and the $49.50 free-shipping threshold can apply. Ordering several files together is cheaper for exactly that reason.

Two discounts touch a shipped order, and they treat the postage differently. The first-order discount is 10% computed from the goods only, applied as a fixed amount off, so it never eats into the postage line. A Pro Studio plan takes 10% off a Print & Ship order, and that one is computed from the whole quoted total — the postage included, whichever rate applies — so it does come off the parcel as well as the print. Bulk pricing at 5 and 10 units is applied to the print itself, before postage is added. See /docs/pricing for the print side.

## Where we ship

Every way of ordering a print asks where the parcel is going before it shows a price, because the postage depends on the answer: the United States, or one of the international destinations below. Anything outside the list for the choice you made is refused before payment, so an address can never be charged the wrong postage.

| Checkout | Countries accepted |
| --- | --- |
| Cart, United States | US |
| Cart, International | AE, AT, AU, BE, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IT, JP, MX, NL, NO, NZ, PT, SE, SG |
| Print & Ship, United States | US |
| Print & Ship, International | AE, AT, AU, BE, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IT, JP, MX, NL, NO, NZ, PT, SE, SG |
| Print API order | US, AE, AT, AU, BE, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IT, JP, MX, NL, NO, NZ, PT, SE, SG |
| Store product (Buy Now), United States | US |
| Store product (Buy Now), International | AE, AT, AU, BE, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IT, JP, MX, NL, NO, NZ, PT, SE, SG |

Express is offered only when you choose the United States. It is a 2–3 day commitment from a domestic carrier, and nothing we can promise through somebody else's customs, so once you choose International there is one service and no speed to pick.

A print API order to a country outside that list is rejected at submission with "We don't currently ship to XX." rather than taken and then cancelled. Duties, VAT and customs handling are not collected at checkout and are the recipient's to pay on arrival.

## Print time and transit time are separate

Nothing is dispatched until the print is finished, so the date a parcel leaves depends on the print, not on when you paid. That half is the print speed you choose at checkout, beside the shipping speed. A large batch depends on live farm capacity instead, which /farm computes from current fleet availability and queue depth. Transit is the carrier's clock and only starts once the parcel is handed over.

| Print speed | Price | Ships in |
| --- | --- | --- |
| Normal print | Included | 4–5 business days |
| Priority print | $5, or 10% of the items when that is more, once per order | 1–2 business days |

*Offered on /print, in the design studio and in the cart when it holds a print. A store product is picked off the shelf and has no print speed. Business days skip weekends but not public holidays.*

| Stage | Where your order physically is | Emails you |
| --- | --- | --- |
| placed | Paid. Nothing has been made yet. | No — the checkout confirmation covered it |
| queued | In the print queue on the farm. Nothing is off a printer yet. | Yes |
| printed | Off the printer and cooling. | Yes |
| packed | Boxed, waiting for the carrier pickup. | Yes |
| shipped | Handed to the carrier. Tracking number appears here. | Yes |
| delivered | The carrier reported it as delivered. | Yes |

An order you collect from us instead of having it posted runs the same first four stages and then ends differently: packed reads Ready for pickup, and its email asks you to reply to arrange a time; Picked up is the last stage. It has no carrier, no tracking number and no postage.

> **Express buys transit, not queue position** — Express is $15 and moves the parcel in 2–3 business days instead of 4–6. It does not jump the print queue: nothing ships before it is made, so express shortens only the half that comes after. Priority print is what moves the first half ($5, or 10% of the items when that is more), and the two can be combined. Express is US only: the 2–3 days is a domestic carrier commitment and not something we can promise through somebody else's customs. Neither shipping speed is a guaranteed delivery date. If a hard deadline matters, email contact@x3dstudios.com before you order and we will tell you whether it is possible.

## Carriers and tracking links

There is no automatic rate shopping on a web order. The carrier is chosen by hand in the operator console at the moment the order is marked shipped, in the same step that captures the tracking number. Four carrier values exist on an order, and only three of them can produce a link.

| Carrier | Link in the shipped email | Number looks like |
| --- | --- | --- |
| UPS | Yes — ups.com tracking | 1Z999AA10123456784 |
| FedEx | Yes — fedex.com tracking | 123456789012 |
| USPS | Yes — tools.usps.com tracking | 9400111899223197428490 |
| Other | No — there is no site we can send you to with confidence | A reference number |

Tracking numbers are normalized before they are stored and linked: spaces and dashes are stripped and the number is uppercased, so a number copied off a label with its printed spacing still resolves. The format is checked when it is entered, but that check is advisory and never blocks a send — carriers add formats faster than a pattern gets updated, and refusing a real number would be worse than passing on an unverified one.

## How the tracking number reaches you

1. **The shipped email** — Subject "Your order is on its way" followed by the order number. It names the carrier, shows the address it is going to, and has a Track your parcel button that opens that carrier's tracking page. This is the only place the number arrives clickable. A number filed under the carrier Other gets no button, and the email says to look the number up on the carrier's own site.

2. **The orders page** — /orders shows the number as plain text under the order. That page holds the number but not the carrier, so it cannot build a link it knows is right — copy the number into the carrier's site, or use the link in the email.

3. **The order status endpoint** — Signed in, you can read the number back for one of your own orders. The response carries the tracking number but not the carrier.

`GET /api/order-status?orderId=2610014`

Status, description and tracking number for one of your own orders.

Auth: session

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `orderId` | string | yes | The order number from your confirmation email, such as 2610014. An order placed before numbering began has an id starting CART-, ORD- or STORE-, and that works too. An order belonging to another account returns 404, the same as one that does not exist. |

**200 response**

```json
{
  "orderId": "2610014",
  "status": "shipped",
  "description": "2 item(s)",
  "trackingNumber": "1Z999AA10123456784",
  "createdAt": "2026-09-01T18:33:00.000Z",
  "updatedAt": "2026-09-04T11:02:11.412Z"
}
```

That endpoint is authenticated by the browser session, not by an API key, so call it from the site while signed in. Orders placed through the developer print API are a separate system with their own public status page at /print/order/<code> and their own endpoint — see /docs/api/order-status.

## Delivered is set by a nightly check

Once a parcel is on a truck nobody here learns anything new about it, so a job runs daily and asks the carrier instead. It looks at orders that are shipped, have a tracking number, and have a carrier of UPS, FedEx or USPS. When the carrier reports the parcel delivered, the order moves to delivered and the delivery email goes out once. Orders whose carrier is Other are skipped — there is no carrier to ask. If a carrier is unreachable that night the order stays shipped and is retried the next day, so a stale shipped status is normal for a day and not a lost parcel.

## Damaged, lost, or the wrong address

There is no self-serve returns flow. All four of these are a person at contact@x3dstudios.com, and replying to any email about the order works too, since the order id is in every subject line.

- Arrived damaged: email us with the order id and photos of both the outer box and the parts, before the packaging goes in the bin. The state of the box is what tells us whether it was the carrier or the packing.
- Tracking has not moved in days: that is normally a carrier-side problem. Send the order id and we will open it with the carrier rather than have you sit on hold.
- Wrong or incomplete address: tell us before the order reaches shipped. What you entered at checkout goes onto the label as typed, and there is no way to edit it yourself after payment. Once a label is bought the parcel goes where the label says.
- The parts are wrong or the print failed: that is a quality question rather than a shipping one — see /docs/farm/quality.

## What an address has to contain

Web orders collect the address in Stripe Checkout, which validates the format for the destination country and hands it back to us. Print API orders post the fields directly, and five of them are required.

**Print API shipping fields**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `recipientName` | string | yes | Name on the label. Also accepted as name. |
| `street1` | string | yes | Street address. Also accepted as address1. |
| `street2` | string | no | Apartment, suite, unit. Also accepted as address2. |
| `city` | string | yes | City. |
| `state` | string | yes | State or province. |
| `zip` | string | yes | Postal code. Also accepted as postalCode. |
| `country` | string | no, default `US` | Two-letter country code. Outside the supported list the order is refused at submission. |
| `phone` | string | no | Carrier contact number. Useful on international parcels. |
| `email` | string | no | Where order emails go. Defaults to the email on the account that owns the API key. |

> **Missing fields fail fast** — A print API submission with a blank required field comes back as 400 with the names listed — "Missing required shipping fields: city, zip" — before anything is charged or printed.

---

- [Orders and tracking](https://x3dstudios.com/docs/studio/orders) — The six stages, which ones email you, and what the orders page shows.
- [Checkout](https://x3dstudios.com/docs/studio/checkout) — How a basket is priced and charged, including gift cards and discounts.
- [Packaging](https://x3dstudios.com/docs/farm/packaging) — How parts are packed before the label goes on.
- [Order status API](https://x3dstudios.com/docs/api/order-status) — Reading status and tracking for orders placed through the print API.

[See your orders](https://x3dstudios.com/orders)

## Frequently asked

**How much is shipping?**

In the US you choose: standard is $7 and takes 4–6 business days in transit, free once the order is $49.50 or more; express is $15 and takes 2–3, and is never free. International is $30 flat, free at $500 or more, standard service only. The free thresholds apply to a cart checkout and to a print API order; the instant quote on Print & Ship includes the postage for the destination you choose — $7 standard, $15 express or $30 international — in its total regardless of order value.

**Do you ship internationally?**

Yes, to 23 countries, from the cart and from the print API alike — they read one list, so the door you come through no longer decides where you live. Everything ships from Austin, Texas. Duties and import charges are not collected at checkout and are the recipient's to settle.

**How long until my order arrives?**

Two clocks, one after the other, and you choose both at checkout. First the print: Normal print ships in 4–5 business days, and Priority print ($5, or 10% of the items when that is more, once per order) ships in 1–2. Then transit: 4–6 business days on standard, 2–3 on express. Transit times are the carrier's typical windows, not a guaranteed delivery date. The shipped email carries the tracking link.

**Why is the tracking number on /orders not a link?**

That page holds the number but not the carrier, so it cannot build a tracking link it knows is right. The shipped email names the carrier and links the number to that carrier's tracking page.
