Skill 详情
treasures
Narrow tokenized-stock trading and wallet operations.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
---
name: treasures
version: 1.0.3
description: |
Treasures Finance: tokenized stocks (xStocks / Ondo) trading, USDC bridging, and delegated wallet ops on Solana and Ethereum.
Use when running Treasures-routed finance ops (e.g. discover tokenized stocks, quote/execute a trade, bridge USDC across chains, check a delegated wallet's portfolio).
Base URL needs the `/public/v1` prefix (bare host 404s). Trade paths (`/quote/*`, `/trade/submit`, `/bridge/quote`) are geo-fenced at the AWS load balancer → 451 from US and GB, before auth — route those calls through the `sc-vpn` skill with a per-request proxy (DE/NL/SE/CH/SG/HK/JP are clear); reads work from anywhere. A 451 is never a signing problem. See the "Read this before any trade attempt" section.
Wallet: DEFAULT to the user's Privy wallet via `treasures-b2b-api` (the wallet signs `ownership_proof` for quotes + per-leg signed payloads for `/trade/submit` — use the `wallet` skill to sign). Route by where the assets live: assets in the Privy/EOA wallet → `treasures-b2b-api`; only use the `treasures-wallet` delegated skill when the user explicitly asks for the Treasures-provisioned wallet or the assets sit in it.
metadata:
starchild:
emoji: "💎"
skillKey: treasures-finance
requires:
bins:
- npx
- node
user-invocable: true
disable-model-invocation: false
---
# Treasures Finance Agent Skills
**Agent Skills** for building AI agents on the Treasures finance APIs.
A skill is a folder of plain-Markdown instructions (`SKILL.md`) that a coding agent loads on demand. The skills here teach an agent to call the Treasures finance APIs correctly — discover tokenized stocks, quote and execute trades, bridge USDC across chains, operate a delegated wallet, and read portfolios — including the signing details and footguns that are easy to get wrong.
## Skill catalog
| Skill | What it does |
| ----- | ------------ |
| [`treasures-b2b-api`](skills/treasures-b2b-api/SKILL.md) | Build an agent on the Treasures public B2B API: discover tokenized stocks, quote/execute trades, bridge USDC across Solana and Ethereum, and read portfolio + trade history for a single end-user wallet pair. Covers endpoint selection, ownership-proof signing (incl. embedded wallets), trade/bridge execution, and error handling. |
| [`treasures-wallet`](skills/treasures-wallet/SKILL.md) | Operate a Treasures delegated wallet over HTTP: onboard (provision a wallet + mint a scoped API key), quote, execute async buys/sells (non-custodial — the agent never signs; Treasures signs as a delegated signer scoped strictly to RWA trades), read balances/portfolio/trade history, and manage API keys. Trades tokenized equities (xStocks / Ondo) vs USDC on Solana or Ethereum with only HTTPS + an API key — no web3 libraries, keys, or RPC. |
## ⚠️ Read this before any trade attempt (verified live 2026-07-27)
Two things fail silently if you don't know them. Both were confirmed with live calls, not docs.
### 1. Base URL needs a path prefix
`https://api.treasures.io` alone **404s on every path**. Two planes off the same host:
| Plane | Base | Used by |
| ----- | ---- | ------- |
| Public B2B | `https://api.treasures.io/public/v1` | `treasures-b2b-api` (default) |
| Delegated agent | `https://api.treasures.io/api/v1` | `treasures-wallet` |
### 2. Trade paths are geo-fenced at the load balancer
Reads are open worldwide; writes are not.
| Path | Result from a blocked IP |
| ---- | ------------------------ |
| `GET /stocks/*`, `/portfolio`, `/trades` | ✅ 200 |
| `POST /quote/buy`, `/quote/sell`, `/bridge/quote`, `/trade/submit` | ❌ 451 `unavailable_for_legal_reasons` |
- The block sits at the **AWS load balancer** (`server: awselb/2.0`), matched on **path + real TCP source IP, before auth and before the app**. Unknown paths return 404 (not 451), and `GET`/`OPTIONS` on a trade path also 451 → the *path* is fenced, not the write method. Both planes are covered — `/api/v1/quote/sell` 451s identically t在 GitHub 阅读完整来源 (打开外部页面)