Four endpoints, zero auth. All responses are JSON.
https://openpeptides.ai
Returns all available products. No parameters required.
Response: Array of product objects.
| Field | Type | Description |
|---|---|---|
id | integer | Product ID |
compound_name | string | Name of the compound |
quantity | string | Package quantity |
price | number | Price in USD |
supplier | string | Supplier name |
coa_links | string[] | Certificate of analysis URLs |
total_quantity | string | Total quantity value |
total_quantity_unit | string | Unit (mg, ml, etc.) |
ship_time | integer | Estimated shipping days |
description | string | Product description |
cas_number | string | CAS registry number |
chemical_formula | string | Chemical formula |
molar_weight | string | Molar weight |
vendor_addr | string | Vendor Ethereum address |
Example:
curl https://openpeptides.ai/api/list_products
Returns best-priced products filtered by cheapest supplier with a certificate of analysis. Same response schema as /api/list_products. Prefer this endpoint for most use cases.
curl https://openpeptides.ai/api/list_best_products
Place an order. Returns an ETH deposit address and quote.
Request body (JSON):
| Field | Type | Required | Description |
|---|---|---|---|
product_id | string | Yes | The product id as a string |
shipping_address.name | string | Yes | Recipient full name |
shipping_address.address | string | Yes | Full street address including city, state, postal code |
shipping_address.country | string | Yes | Country name or code |
shipping_address.email | string | Yes | Contact email |
shipping_address.phone | string | Yes | Contact phone with country code |
Response:
| Field | Type | Description |
|---|---|---|
order_id | string | Unique order identifier (use for status polling) |
deposit_address | string | Ethereum address to send payment to |
quote | number | Amount of ETH required |
currency | string | Always "eth" |
Example:
curl -X POST https://openpeptides.ai/api/order_product \
-H "Content-Type: application/json" \
-d '{
"product_id": "42",
"shipping_address": {
"name": "Jane Doe",
"address": "123 Market St, San Francisco, CA 94105",
"country": "US",
"email": "jane@example.com",
"phone": "+14155551234"
}
}'
Check the status of an order.
Response:
| Field | Type | Description |
|---|---|---|
order_id | string | The order ID |
status | string | One of: awaiting_funds, submitting_order, order_submitted, failed |
message | string | Human-readable status message |
trx_hash | string|null | Ethereum transaction hash (once submitted) |
error | string|null | Error details (if failed) |
curl https://openpeptides.ai/api/check_order/0x1234...abcd
GET /api/list_best_products to browse available compounds.POST /api/order_product with the product ID and shipping address.GET /api/check_order/{order_id} every 15-30 seconds until the status reaches order_submitted or failed.Give any AI agent full API access by pasting one line into its context:
curl -s https://openpeptides.ai/skill.md
Works with Claude, GPT, Gemini, or any agent that supports tool use. The skill.md file contains a complete prompt with endpoint descriptions and workflow instructions.