# BlockLabs Shipping Options

> BlockLabs Shipping Options is a paid API for AI agents from shop.blocklabs.nl, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Returns all available shipping carriers, costs (EUR), and delivery delays for a basket of products to a specified EU destination postcode

## Facts

- Endpoint: POST https://shop.blocklabs.nl/api/shipping-options
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/blocklabs-shipping-options-bcff6034
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Zhw_oZafsXcrZDdYgkeaD

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability blocklabs-shipping-options-bcff6034 -d '<json body>'
```

Example prompt: What shipping options are available for 2 units of SKU 'BL-WIDGET-42' and 1 unit of 'BL-CABLE-07' to postcode 1011AB in the Netherlands? I need carrier names, prices in EUR, and estimated delivery times so I can pick the best one.

## When to prefer this

Use this endpoint when you need to present shipping options to a user before placing an order via POST /api/order on the BlockLabs platform, specifically for EU-destination dropshipping. It is required before order placement since the carrier name from its response must be passed into the order endpoint. Prefer this over generic shipping rate APIs when working within the BlockLabs dropshipping catalog ecosystem.

## Known failure modes

- Country not in EU allowlist — only the 27 EU member state ISO codes are accepted, non-EU countries return a validation error
- Empty or whitespace-only postcode rejected by pattern validation
- Products array empty or missing required reference/quantity fields
- Payer wallet is counterfactual (not yet deployed on-chain) — payment will fail
- Unknown SKU references that don't exist in the catalog return no matching options
- x402 payment of 0.001 USDC fails due to insufficient wallet balance

## How this service works

All available shipping options (carrier, cost EUR, delivery delay) for a basket to an EU destination - pick one and pass its carrier name into POST /api/order. Payer wallet must be deployed (counterfactual smart accounts are not supported).

## Output

A list of available shipping options, each including the carrier name (to be passed into POST /api/order), the shipping cost in EUR, and the expected delivery delay. The agent selects one carrier from this list to fulfil the order.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "country": {
   "enum": [
    "AT",
    "BE",
    "BG",
    "HR",
    "CY",
    "CZ",
    "DK",
    "EE",
    "FI",
    "FR",
    "DE",
    "GR",
    "HU",
    "IE",
    "IT",
    "LV",
    "LT",
    "LU",
    "MT",
    "NL",
    "PL",
    "PT",
    "RO",
    "SK",
    "SI",
    "ES",
    "SE"
   ],
   "type": "string",
   "description": "ISO 3166-1 alpha-2 - EU member states only (EU-only shipping)"
  },
  "postcode": {
   "type": "string",
   "pattern": "\\S",
   "minLength": 1,
   "description": "Destination postcode"
  },
  "products": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "reference",
     "quantity"
    ],
    "properties": {
     "quantity": {
      "type": "integer",
      "minimum": 1
     },
     "reference": {
      "type": "string",
      "pattern": "\\S",
      "minLength": 1,
      "description": "Product SKU (from /api/search)"
     }
    }
   },
   "minItems": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/blocklabs-shipping-options-bcff6034/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from shop.blocklabs.nl](https://www.zero.xyz/host/shop.blocklabs.nl/llms.txt)
