Use a API publica para consultar carteiras, receber PICLES por chave publica e enviar pagamentos assinados no navegador ou no seu backend.
1. Gerar carteira
Carteiras usam ECDSA P-256. A chave publica canonica vira o endereco `pcl_`.
publicJwk = { crv: "P-256", kty: "EC", x, y }
canonical = JSON.stringify(publicJwk)
pubkey = "pcl_" + base64url(sha256(canonical)).slice(0, 43)
2. Receber pagamento
Mostre sua chave publica ou uma Chave Picles comprada no app.
GET /api/picles/wallet/{pubkey}
3. Enviar pagamento
Encontre uma nova prova de mineracao, inclua-a no payload, assine com a chave privada da carteira de origem e envie a transacao.
proofHash = base64url(sha256(fromPubkey + ":" + proofNonce + ":" + proofSeed))
payload = fromPubkey + "\n" + toPubkey + "\n" + amount + "\n" + txId + "\n" + proofSeed + "\n" + proofNonce
signature = base64url(ECDSA_SHA256(privateKey, payload))
POST /api/picles/transactions
{
"fromPubkey": "pcl_...",
"toPubkey": "pcl_...",
"amount": 25,
"txId": "id-unico",
"proofSeed": "seed-atual",
"proofNonce": "nonce-valido",
"publicKeyJwk": "{\"crv\":\"P-256\",\"kty\":\"EC\",\"x\":\"...\",\"y\":\"...\"}",
"payload": "...",
"signature": "..."
}
4. Confirmar saldo e extrato
GET /api/picles/wallet/{pubkey}
GET /api/picles/keys/resolve/{chave-picles}
GET /api/picles/status