coinbase-openapi-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Coinbase Advanced Trade Skill

Coinbase Advanced Trade Skill

Use this skill to run Coinbase Advanced Trade REST operations through
uxc
+ OpenAPI.
Reuse the
uxc
skill for shared execution, auth, and error-handling guidance.
使用此技能通过
uxc
+ OpenAPI执行Coinbase Advanced Trade REST操作。
复用
uxc
技能以获取共享的执行、认证和错误处理指南。

Prerequisites

前提条件

  • uxc
    is installed and available in
    PATH
    .
  • Network access to
    https://api.coinbase.com
    .
  • Access to the curated OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinbase-openapi-skill/references/coinbase-advanced-trade.openapi.json
  • 已安装
    uxc
    且其可在
    PATH
    中访问。
  • 能够访问
    https://api.coinbase.com
    的网络权限。
  • 能够访问精选的OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinbase-openapi-skill/references/coinbase-advanced-trade.openapi.json

Scope

适用范围

This skill covers a curated Coinbase Advanced Trade surface for:
  • product and best-bid-ask market reads
  • account summary reads
  • order create, cancel, and lookup workflows
This skill does not cover:
  • Coinbase Exchange APIs
  • Coinbase Prime APIs
  • Coinbase Derivatives APIs
  • wallet or retail app product families outside Advanced Trade
此技能涵盖Coinbase Advanced Trade的精选功能面,包括:
  • 产品与最优买卖报价的市场查询
  • 账户概览查询
  • 订单创建、取消与查询流程
此技能涵盖:
  • Coinbase Exchange APIs
  • Coinbase Prime APIs
  • Coinbase Derivatives APIs
  • Advanced Trade之外的钱包或零售应用产品系列

Authentication

认证

Public product endpoints can be read without credentials.
Private account and order endpoints require a Coinbase Advanced Trade bearer JWT.
uxc
now supports Coinbase's request-scoped JWT flow directly through
jwt_bearer_v1
, so you can store the API key id and private key in a credential and let
uxc
mint the short-lived bearer token per request.
Recommended v1 setup:
  1. Download or copy the Coinbase API key material:
    • key_id
      :
      organizations/{org_id}/apiKeys/{key_id}
    • private_key
      : Coinbase exports either
      -----BEGIN EC PRIVATE KEY-----
      or
      -----BEGIN PRIVATE KEY-----
      ;
      uxc
      accepts both PEM forms for ES256.
  2. Store those values in a local credential.
  3. Bind the credential to
    api.coinbase.com
    with a
    jwt_bearer_v1
    signer.
bash
uxc auth credential set coinbase-advanced-trade \
  --auth-type api_key \
  --field key_id=env:COINBASE_KEY_ID \
  --field private_key=env:COINBASE_PRIVATE_KEY

uxc auth binding add \
  --id coinbase-advanced-trade \
  --host api.coinbase.com \
  --path-prefix /api/v3/brokerage \
  --scheme https \
  --credential coinbase-advanced-trade \
  --signer-json '{"kind":"jwt_bearer_v1","algorithm":"es256","private_key_field":"private_key","header_typ":"JWT","header_kid_field":"key_id","expires_in_seconds":120,"claims":{"static":{"iss":"cdp"},"from_fields":{"sub":"key_id"},"time":{"nbf":"now","exp":"now_plus_ttl"}},"request_claim":{"name":"uri","format":"string","value_template":"{{request.method}} {{request.host}}{{request.path}}"}}' \
  --priority 100
Validate the active mapping when auth looks wrong:
bash
uxc auth binding match https://api.coinbase.com/api/v3/brokerage/accounts
公开产品端点无需凭证即可查询。
私有账户和订单端点需要Coinbase Advanced Trade的Bearer JWT。
uxc
现在通过
jwt_bearer_v1
直接支持Coinbase的请求范围JWT流程,因此你可以将API密钥ID和私钥存储在凭证中,让
uxc
为每个请求生成短期Bearer令牌。
推荐的v1设置:
  1. 下载或复制Coinbase API密钥材料:
    • key_id
      :
      organizations/{org_id}/apiKeys/{key_id}
    • private_key
      : Coinbase会导出
      -----BEGIN EC PRIVATE KEY-----
      -----BEGIN PRIVATE KEY-----
      格式;
      uxc
      接受这两种ES256的PEM格式。
  2. 将这些值存储在本地凭证中。
  3. 将凭证通过
    jwt_bearer_v1
    签名器绑定到
    api.coinbase.com
bash
uxc auth credential set coinbase-advanced-trade \
  --auth-type api_key \
  --field key_id=env:COINBASE_KEY_ID \
  --field private_key=env:COINBASE_PRIVATE_KEY

uxc auth binding add \
  --id coinbase-advanced-trade \
  --host api.coinbase.com \
  --path-prefix /api/v3/brokerage \
  --scheme https \
  --credential coinbase-advanced-trade \
  --signer-json '{"kind":"jwt_bearer_v1","algorithm":"es256","private_key_field":"private_key","header_typ":"JWT","header_kid_field":"key_id","expires_in_seconds":120,"claims":{"static":{"iss":"cdp"},"from_fields":{"sub":"key_id"},"time":{"nbf":"now","exp":"now_plus_ttl"}},"request_claim":{"name":"uri","format":"string","value_template":"{{request.method}} {{request.host}}{{request.path}}"}}' \
  --priority 100
当认证出现问题时,验证当前映射:
bash
uxc auth binding match https://api.coinbase.com/api/v3/brokerage/accounts

Core Workflow

核心工作流

  1. Use the fixed link command by default:
    • command -v coinbase-openapi-cli
    • If missing, create it:
      uxc link coinbase-openapi-cli https://api.coinbase.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinbase-openapi-skill/references/coinbase-advanced-trade.openapi.json
    • coinbase-openapi-cli -h
  2. Inspect operation help before execution:
    • coinbase-openapi-cli get:/api/v3/brokerage/products -h
    • coinbase-openapi-cli get:/api/v3/brokerage/accounts -h
    • coinbase-openapi-cli post:/api/v3/brokerage/orders -h
  3. Prefer product reads before private account or order workflows:
    • coinbase-openapi-cli get:/api/v3/brokerage/products product_type=SPOT limit=20
    • coinbase-openapi-cli get:/api/v3/brokerage/best_bid_ask product_ids=BTC-USD,ETH-USD
  4. Treat all order placement and cancellation as high-risk writes.
  1. 默认使用固定链接命令:
    • command -v coinbase-openapi-cli
    • 如果缺失,创建链接:
      uxc link coinbase-openapi-cli https://api.coinbase.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinbase-openapi-skill/references/coinbase-advanced-trade.openapi.json
    • coinbase-openapi-cli -h
  2. 执行前查看操作帮助:
    • coinbase-openapi-cli get:/api/v3/brokerage/products -h
    • coinbase-openapi-cli get:/api/v3/brokerage/accounts -h
    • coinbase-openapi-cli post:/api/v3/brokerage/orders -h
  3. 在进行私有账户或订单操作前优先查询产品信息:
    • coinbase-openapi-cli get:/api/v3/brokerage/products product_type=SPOT limit=20
    • coinbase-openapi-cli get:/api/v3/brokerage/best_bid_ask product_ids=BTC-USD,ETH-USD
  4. 将所有订单下单和取消操作视为高风险写入操作。

Operations

操作列表

  • get:/api/v3/brokerage/products
  • get:/api/v3/brokerage/products/{product_id}
  • get:/api/v3/brokerage/best_bid_ask
  • get:/api/v3/brokerage/accounts
  • get:/api/v3/brokerage/accounts/{account_uuid}
  • post:/api/v3/brokerage/orders
  • post:/api/v3/brokerage/orders/batch_cancel
  • get:/api/v3/brokerage/orders/historical/{order_id}
  • get:/api/v3/brokerage/orders/historical/batch
  • get:/api/v3/brokerage/products
  • get:/api/v3/brokerage/products/{product_id}
  • get:/api/v3/brokerage/best_bid_ask
  • get:/api/v3/brokerage/accounts
  • get:/api/v3/brokerage/accounts/{account_uuid}
  • post:/api/v3/brokerage/orders
  • post:/api/v3/brokerage/orders/batch_cancel
  • get:/api/v3/brokerage/orders/historical/{order_id}
  • get:/api/v3/brokerage/orders/historical/batch

Guardrails

防护准则

  • Keep automation on the JSON output envelope; do not use
    --text
    .
  • Parse stable fields first:
    ok
    ,
    kind
    ,
    protocol
    ,
    data
    ,
    error
    .
  • uxc
    mints a fresh short-lived Coinbase JWT on each private request; do not try to bind a stale pre-generated bearer token when
    jwt_bearer_v1
    is available.
  • Coinbase exports ES256 private keys in more than one PEM form; this skill expects the raw downloaded PEM and does not require a manual PKCS#8 conversion step.
  • Treat
    post:/api/v3/brokerage/orders
    and
    post:/api/v3/brokerage/orders/batch_cancel
    as high-risk writes.
  • Keep initial product/account pulls narrow with small
    limit
    values.
  • coinbase-openapi-cli <operation> ...
    is equivalent to
    uxc https://api.coinbase.com --schema-url <coinbase_advanced_trade_openapi_schema> <operation> ...
    .
  • 仅在JSON输出包上进行自动化操作;请勿使用
    --text
    参数。
  • 优先解析稳定字段:
    ok
    kind
    protocol
    data
    error
  • uxc
    会为每个私有请求生成新的短期Coinbase JWT;当
    jwt_bearer_v1
    可用时,请勿尝试绑定过时的预生成Bearer令牌。
  • Coinbase会以多种PEM格式导出ES256私钥;此技能支持直接使用下载的原始PEM,无需手动进行PKCS#8转换步骤。
  • post:/api/v3/brokerage/orders
    post:/api/v3/brokerage/orders/batch_cancel
    视为高风险写入操作。
  • 初始产品/账户查询时请使用较小的
    limit
    值以缩小范围。
  • coinbase-openapi-cli <operation> ...
    等价于
    uxc https://api.coinbase.com --schema-url <coinbase_advanced_trade_openapi_schema> <operation> ...

References

参考资料