@advisors-crypto/sdk
v0.1.2
Published
Official TypeScript SDK for the Advisors Crypto agent platform — read state, validate, propose, verify webhooks, verify the signed policy chain.
Maintainers
Readme
@advisors-crypto/sdk
Official TypeScript SDK for the Advisors Crypto agent platform.
Lets AI agents read state from an Advisors Crypto managed advisory account, validate proposed trades against the account holder's Investment Policy Statement (IPS), submit trades for human attestation, verify webhook signatures, and verify the signed policy event chain off-chain.
Product wedge. Agents propose, the policy layer decides, humans attest. There is intentionally no execute scope — every action that would mutate the portfolio is routed to a human attestation queue in the Advisors Crypto application. This SDK cannot place a trade. By design.
Important Legal Notices
Software, not advice. This SDK is software infrastructure provided "AS IS" under the MIT License. It is not investment advice, not a recommendation to buy or sell any security or digital asset, not a solicitation of any kind, and not an offer to provide brokerage or custodial services. Investment advisory services are provided exclusively by Advisors Crypto, an SEC-registered investment adviser (CRD #109201), to clients pursuant to a written investment advisory agreement and after delivery of Form ADV Part 2A.
You are responsible for your trades. The policy layer evaluates proposals against the limits encoded in your active IPS. It does not predict outcomes. Every proposal that is "allowed" by policy still requires explicit human attestation in the Advisors Crypto application before it is routed to a custodian. Acceptance of an attestation request is the account holder's decision and the account holder's responsibility.
Crypto and securities involve material risk. Digital assets are volatile and may lose value rapidly, including to zero. Securities trading involves risk of principal loss. Past performance is not indicative of future results. Nothing the SDK returns — whether a mandate, holdings snapshot, validate decision, or audit row — constitutes a guarantee of future performance, a forecast, or a safety claim. AC does not represent that any trade, strategy, or allocation is "safe," "risk-free," or "guaranteed."
No fiduciary capacity for SDK consumers who are not AC clients. Use of this SDK by a party who is not an Advisors Crypto managed-account client does not create an adviser-client relationship, a fiduciary duty, or any other professional duty between Advisors Crypto and that party.
Data flowing to third-party AI providers. Connecting an AI agent (Claude, Cursor, a custom orchestrator, etc.) means data the agent reads via this SDK will be sent to that AI provider for processing. Once data leaves Advisors Crypto, it is governed by the third-party AI provider's terms and privacy policy. You are responsible for understanding and accepting those terms.
Test mode is a sandbox, not your portfolio. ac_test_ keys hit a fixed sandbox IPS with a synthetic universe (BTC, ETH, SPY, QQQ) and a $10,000 per-trade cap. Sandbox responses do not reflect any real portfolio, do not create attestation requests, and do not affect any custodian. They are safe for CI; they are not safe to base real investment decisions on.
No tax, legal, or accounting advice. Nothing the SDK returns is tax, legal, or accounting advice. Consult your own qualified professionals before acting.
Jurisdiction. Advisors Crypto offers advisory services only where authorized to do so. Use of this SDK does not by itself constitute the provision of advisory services in any jurisdiction.
Disclosure version. Each agent key is bound to a specific disclosure version (currently v2026-06-15). Read the full disclosure at https://app.advisorscrypto.com/agents/docs/disclosure. New disclosure versions require re-acceptance at the next key mint or rotation.
No warranty. The SDK is provided "AS IS" without warranty of any kind, express or implied. See LICENSE.
Install
npm install @advisors-crypto/sdkRequires Node >= 20. Pure ESM. Zero runtime dependencies.
Authentication
Mint an agent key at https://app.advisorscrypto.com/agent. Pick the minimum scopes you need: read, validate, propose. There is no execute scope. The plaintext key is shown exactly once at mint time; store it in your agent's secret manager. Use ac_test_ keys for CI and development.
Quick start
import { AcClient } from '@advisors-crypto/sdk';
const ac = new AcClient({ apiKey: process.env.AC_AGENT_KEY! });
const me = await ac.whoami();
const decision = await ac.validate({
action: 'buy', assetSymbol: 'BTC', assetType: 'crypto', amountUsd: 5000,
});
if (!decision.allowed) return decision;
await ac.propose({
action: 'buy', assetSymbol: 'BTC', assetType: 'crypto', amountUsd: 5000,
rationale: 'Drawdown headroom present; mandate cryptoTarget at 25%.',
});What's in the box
AcClient — typed wrapper around the agent REST API:
- whoami() — caller identity, scopes, keyType, rate-limit budget, current policy chain head.
- getMandate() — the active IPS bundle.
- getHoldings() — current portfolio across all custodians.
- getAudit(opts?) — recent guardrail decisions.
- validate(payload) / validateBatch(trades) — dry-run single trade or batch of up to 25.
- propose(payload, opts?) — submit for human attestation. Idempotency key auto-generated.
- getUsage(opts?) — per-key call telemetry.
- getPolicyEvents(opts?) — signed policy_events chain entries.
- getSigningKeys() — public signer-key manifest for chain verification.
- getDisclosure() — current public disclosure metadata.
- health() — liveness probe.
@advisors-crypto/sdk/webhooks — webhook signature verifier
HMAC-SHA256 over {timestamp}.{raw_body}, 5-minute replay window. Ships as a separate subpath so edge runtimes can import only the verifier without the HTTP client.
@advisors-crypto/sdk/verifier — policy chain verifier
Pure Web Crypto walker for the signed policy_events log. Re-walks every prevHash, recomputes every sha256, verifies every ed25519 signature client-side. Works in Node, modern browsers, and edge runtimes. Lets you prove off-chain that the events AC reported to you have not been altered after the fact.
Rate limits
50 requests/second per key, fixed 1-second window. Headers on every response (X-RateLimit-*). whoami echoes the budget in its body. See https://app.advisorscrypto.com/agents/docs/api/rate-limits.
Contacts
- Security: [email protected] (do not file public issues)
- Support: [email protected]
- Compliance: [email protected]
- Form ADV Part 2A: available on request and at https://adviserinfo.sec.gov (CRD #109201)
- Bug reports: https://github.com/AdvisorsCrypto/ac-monorepo/issues
Documentation
- API reference: https://app.advisorscrypto.com/agents/docs/api
- Concepts: https://app.advisorscrypto.com/agents/docs/concepts
- OpenAPI: https://api.advisorscrypto.com/api/agent/v1/openapi.json
License
MIT. See LICENSE.
