2-of-2 threshold ECDSA wallet infrastructure for developers. Private keys are never reconstructed — not by you, not by us, not by anyone.
Everything you need to add non-custodial wallet infrastructure to your application.
Private keys are never reconstructed. Key shares remain isolated across independent infrastructure.
Distributed signing, not distributed storage. Both parties compute signature shares without exposing secrets.
No seed phrases, no browser extensions. Users authenticate with email and optional TOTP second factor.
Server-side spending limits, address whitelists, and cooldown periods. Enforce rules before signing.
BSV, Polygon, and Ethereum from a single API. Same wallet abstraction, same signing flow.
API keys, usage metering, webhook management, and real-time transaction monitoring.
Create a wallet and sign your first transaction in minutes. No complex key ceremonies, no hardware requirements, no SDK lock-in.
// Create a wallet
const res = await fetch('https://api.btcp.io:8080/api/v1/wallets', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ chain: 'bsv' })
});
const wallet = await res.json();
// { walletId: "w_3f8a...", address: "1A1zP1...", chain: "bsv" }
// Sign a transaction
const tx = await fetch(`https://api.btcp.io:8080/api/v1/wallets/${wallet.walletId}/sign`, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2',
amount: 50000 // satoshis
})
});Create an account with email OTP. No credit card required.
One API call generates a 2-of-2 MPC key pair. You hold one share, we hold the other.
Submit a transaction intent. Both shares produce partial signatures that combine on-chain.