Skip to content

feat: support account API keys across Go clients - #28

Open
KillerQueen-Z wants to merge 3 commits into
BlockRunAI:mainfrom
KillerQueen-Z:feat/api-key-auth
Open

feat: support account API keys across Go clients#28
KillerQueen-Z wants to merge 3 commits into
BlockRunAI:mainfrom
KillerQueen-Z:feat/api-key-auth

Conversation

@KillerQueen-Z

@KillerQueen-Z KillerQueen-Z commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Add account API-key constructors across the Go SDK and a shared account transport for chat, native Anthropic Messages, media and data services. APIRequest provides generic JSON/binary/SSE access to account routes. Account requests carry a Bearer key bound to the configured origin, never payment proofs; account errors retain HTTP status and Retry-After without entering x402 signing.

Explicit wallet credentials retain wallet mode. An explicitly configured empty/malformed API environment now fails instead of silently selecting a funded wallet. New-wallet setup prefers Solana while preserving existing chain/Base-wallet choices. Accepted jobs recover from temporary gateway failures by polling the same complete URL within the original context deadline, never creating another job. Auth, credit and rate-limit errors are not retried.

Align Surf catalog estimates and timeout billing guidance. README covers API registration, key creation, credits, Activity, source-versus-release installation, complete signed polling URLs and independent account/wallet balances.

Validation: go test -race ./... and go vet ./... pass. Regressions cover empty API settings, explicit Base/Solana wallet selection, authenticated service requests, quota/error propagation, existing-job recovery and context behavior. A standalone consumer module also passes HTTP integration with the merged Enterprise gateway source; the combined five-product run has 72 requests and reconciles simulated meter/debit records.

Provider responses and balances in local integration are fixtures. No claim of every live endpoint/model or real Solana/Base settlement, no package tag/publication and no deployment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant