API Documentation
The Proxy API enables you to create MPC-secured wallets and sign transactions using our distributed 24-agent network. All API requests require authentication via API key.
https://api.proxy.fund
SDK Installation
We provide official SDKs for JavaScript, Python, and Go. Each SDK supports all 4 core MPC functions: Key Generation, Threshold Signing, Key Rotation, and CoinJoin/Privacy.
// Install the SDK npm install @proxyshield/sdk // Usage import { ProxyShield } from '@proxyshield/sdk'; const client = new ProxyShield({ apiKey: 'ps_live_xxx', signRequests: true // Enterprise: HMAC request signing }); // Create wallet (DKG) const wallet = await client.wallets.create({ label: 'Treasury' }); // Sign transaction const sig = await client.sign(wallet.id, { to: '0x...', value: '1000000000000000000' }); // Rotate keys (PSS) const rotation = await client.rotate(wallet.id); // Privacy: Register blinded input await client.privacy.registerInput('0xblinded...');
# Install the SDK pip install proxyshield # Usage from proxyshield import ProxyShield client = ProxyShield(api_key='ps_live_xxx') # Create wallet (DKG) wallet = client.wallets.create(label='Treasury') # Sign transaction sig = client.sign(wallet.id, {'to': '0x...', 'value': '1000000000000000000'}) # Rotate keys (PSS) rotation = client.rotate(wallet.id) # Privacy: Register blinded input client.register_privacy_input('0xblinded...')
// Install the SDK go get github.com/proxyshield/sdk-go // Usage import "github.com/proxyshield/sdk-go" client := proxyshield.NewClient("ps_live_xxx") // Create wallet (DKG) wallet, _ := client.Wallets.Create("Treasury") // Sign transaction sig, _ := client.Sign(wallet.ID, proxyshield.Transaction{ To: "0x...", Value: "1000000000000000000", })
Authentication
All API requests require a valid API key passed in the Authorization
header using the Bearer scheme.
curl -X GET https://agents.proxy.fund/v1/wallets \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
API Keys
Your API key is generated when you create an account. You can create additional keys from the API Keys page in your dashboard.
Rate Limits
Rate limits vary by plan. When you exceed your rate limit, the API returns a
429 Too Many Requests response.
Create Wallet
Creates a new MPC wallet with distributed key generation across 24 agents.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| name | string | Human-readable name for the wallet |
| chain | string | Target blockchain (e.g., "ethereum", "solana") |
curl -X POST https://agents.proxy.fund/v1/wallets \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Treasury Wallet", "chain": "ethereum" }'
{
"success": true,
"wallet": {
"id": "wal_8x7f2k9m",
"name": "Treasury Wallet",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2e3E4",
"chain": "ethereum",
"created_at": "2026-02-02T12:00:00Z"
}
}
List Wallets
Returns all wallets associated with your account.
Get Wallet
Returns details for a specific wallet.
Sign Transaction
Signs a transaction using distributed MPC across 24 agents. Requires 13-of-24 threshold for signature generation.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| transaction required | object | Transaction object to sign |
| transaction.to | string | Recipient address |
| transaction.value | string | Amount in wei (hex) |
| transaction.data | string | Call data (optional) |
curl -X POST https://agents.proxy.fund/v1/wallets/wal_8x7f2k9m/sign \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "transaction": { "to": "0x0000000000000000000000000000000000000000", "value": "0x0", "data": "0x", "chainId": 1 } }'
{
"success": true,
"signature": {
"r": "0x...",
"s": "0x...",
"v": 27,
"signedTx": "0x..."
},
"agentsUsed": 13,
"signingTime": "48ms"
}
Sign Message (EIP-191)
Signs an arbitrary message using EIP-191 personal sign format.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| message required | string | The message to sign (will be prefixed with "\x19Ethereum Signed Message:\n") |
Sign Typed Data (EIP-712)
Signs structured typed data according to EIP-712 standard.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| typedData required | object | EIP-712 typed data object with domain, types, primaryType, and message |
Key Rotation (Proactive Secret Sharing)
Triggers a key rotation ceremony using Proactive Secret Sharing (PSS). All 24 agents generate new shares that sum to the same secret key.
curl -X POST https://api.proxy.fund/v1/wallets/wal_8x7f2k9m/rotate \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"epoch": 2,
"rotatedAt": "2026-02-04T12:00:00Z",
"previousEpoch": 1,
"agentsRotated": 24
}
Privacy: Register Blinded Input
X-Privacy-Mode: true
header and should be accessed via Tor for anonymity.
Registers a blinded credential for CoinJoin participation. The agent signs blindly without knowing the input value.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| blindedCredential required | string | The blinded credential hash (B = r · H(input)) |
Privacy: Verify Credential
Verifies an unblinded credential for CoinJoin withdrawal. Must be called from a different Tor circuit than registration.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| credential required | string | The unblinded credential (σ/r) |
| withdrawalAddress required | string | The address to receive funds |
Usage Statistics
Returns your current billing period usage including signatures consumed.
API Logs
Returns paginated API request logs with filtering options.
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 50, max: 100) |
| endpoint | string | Filter by endpoint path |
Cluster Status
Returns the health status of the MPC agent cluster.
{
"healthy": true,
"agents": 24,
"threshold": 13,
"activeAgents": 24,
"latency": {
"p50": "23ms",
"p99": "89ms"
}
}