Language

Choose a language

/build/rpc / cosign / session

cosign.attest

cosign.attest "session_id" "address" ( "signature" ) BIP-322 peer attestation (two-step challenge/response flow). Step 1: Generate challenge cosign.attest session_id=<sid> address=<addr> Returns: {"challenge": "..."} Step 2: Verify signature First sign challenge: signmessage <address> <challenge> Then verify: cosign.attest session_id=<sid> address=<addr> signature=<sig> Returns: {"verified": true, "peer": {...}} Arguments: 1. session_id (string, required) Session ID 2. address (string, required) Bitcoin address to attest with 3. signature (string, optional) Base64 signature (for step 2) Result (Step 1 (challenge generation)): { (json object) "challenge" : "str" (string) Challenge string to sign } Result (Step 2 (signature verification)): { (json object) "verified" : true|false, (boolean) Whether signature was valid "peer" : { (json object) Verified peer info "address" : "str" (string) Peer's verified address } } Examples: Step 1: Generate challenge > bitcoin-cli cosign.attest "session_abc123" "bc1q..." Step 2: Sign challenge > bitcoin-cli signmessage "bc1q..." "cosign|session_abc123|word1-word2-..." Step 3: Verify signature > bitcoin-cli cosign.attest "session_abc123" "bc1q..." "signature_base64"

Signature

cosign.attest(session_id: string, address: string, signature?: string) → any

Code samples

curl --user "$RPC_USER:$RPC_PASS" \
  --data-binary '{"jsonrpc":"1.0","id":"docs","method":"cosign.attest","params":["\"<session_id>\"","\"<address>\"","\"<signature>\""]}' \
  -H 'content-type: text/plain;' \
  http://127.0.0.1:8332/

Parameters

NameTypeReq.Description
session_idstringyesSession ID
addressstringyesBitcoin address to attest with
signaturestringBase64 signature (for step 2) Result (Step 1 (challenge generation)): { (json object) "challenge" : "str" (string) Challenge string to sign } Result (Step 2 (signature verification)): { (json object) "verified" : true|false, (boolean) Whether signature was valid "peer" : { (json object) Verified peer info "address" : "str" (string) Peer's verified address } }

Result

Type:  any

No `Result:` section in live help output.

Source: services/core-node/bcore/src/rpc/cosign.cpp:949

C++ symbol: cosign_attest