Get BTC Account
curl --request POST \
--url 'https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "particle_aa_getBTCAccount",
"params": [
{
"name": "BTC",
"version": "2.0.0",
"btcPublicKey": "<string>",
"btcAddress": "<string>"
}
]
}
'import requests
url = "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "particle_aa_getBTCAccount",
"params": [
{
"name": "BTC",
"version": "2.0.0",
"btcPublicKey": "<string>",
"btcAddress": "<string>"
}
]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'particle_aa_getBTCAccount',
params: [
{
name: 'BTC',
version: '2.0.0',
btcPublicKey: '<string>',
btcAddress: '<string>'
}
]
})
};
fetch('https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'particle_aa_getBTCAccount',
'params' => [
[
'name' => 'BTC',
'version' => '2.0.0',
'btcPublicKey' => '<string>',
'btcAddress' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {
"chainId": 123,
"isDeployed": true,
"eoaAddress": "<string>",
"factoryAddress": "<string>",
"entryPointAddress": "<string>",
"smartAccountAddress": "<string>",
"owner": "<string>",
"name": "<string>",
"version": "<string>",
"index": 123,
"btcPublicKey": "<string>"
}
}BTC Connect RPC
getBTCAccount
Learn how to use the getBTCAccount JSON-RPC method.
POST
/
#particle_aa_getBTCAccount
Get BTC Account
curl --request POST \
--url 'https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "particle_aa_getBTCAccount",
"params": [
{
"name": "BTC",
"version": "2.0.0",
"btcPublicKey": "<string>",
"btcAddress": "<string>"
}
]
}
'import requests
url = "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "particle_aa_getBTCAccount",
"params": [
{
"name": "BTC",
"version": "2.0.0",
"btcPublicKey": "<string>",
"btcAddress": "<string>"
}
]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'particle_aa_getBTCAccount',
params: [
{
name: 'BTC',
version: '2.0.0',
btcPublicKey: '<string>',
btcAddress: '<string>'
}
]
})
};
fetch('https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'particle_aa_getBTCAccount',
'params' => [
[
'name' => 'BTC',
'version' => '2.0.0',
'btcPublicKey' => '<string>',
'btcAddress' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc.particle.network/evm-chain/#particle_aa_getBTCAccount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"particle_aa_getBTCAccount\",\n \"params\": [\n {\n \"name\": \"BTC\",\n \"version\": \"2.0.0\",\n \"btcPublicKey\": \"<string>\",\n \"btcAddress\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {
"chainId": 123,
"isDeployed": true,
"eoaAddress": "<string>",
"factoryAddress": "<string>",
"entryPointAddress": "<string>",
"smartAccountAddress": "<string>",
"owner": "<string>",
"name": "<string>",
"version": "<string>",
"index": 123,
"btcPublicKey": "<string>"
}
}Understanding getBTCAccount
getBTCAccountcalculates and return the information of smart account tied to an account address from btc public key. It takes:
Account config object:name- string. onlyBTCversion- string. Either 1.0.0 or 2.0.0.btcPublicKey- string.btcAddress- string. optional
Query example
{
"jsonrpc": "2.0",
"id": "1",
"method": "particle_aa_getBTCAccount",
"params": [
{
"name": "BTC",
"version": "2.0.0",
"btcPublicKey": "02f2ac735d9a0d1e5db8f6a6878ffb2a67d8415871c34df930cc2c03676f3a4eaa",
"btcAddress": "bc1qlyv3djgklwe0lm02a0265u4y8gg252cmut3j2u"
}
]
}
const axios = require('axios');
(async () => {
const response = await axios.post('https://rpc.particle.network/evm-chain', {
chainId: 1,
jsonrpc: '2.0',
id: 1,
method: 'particle_aa_getBTCAccount',
params: [{
name: 'BTC',
version: '2.0.0',
btcPublicKey: '020ec8200effde9ba4d2de890074cda725ba7c1fcc659f7915c0caa96aae7bbadc',
btcAddress: 'bc1qlyv3djgklwe0lm02a0265u4y8gg252cmut3j2u'
}],
}, {
auth: {
username: 'Your Project Id',
password: 'Your Project Server Key',
}
});
console.log(response.data);
})();
Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
application/json
Request to calculate and return information of a smart account tied to a BTC public key.
Defines the structure for BTC account request data.
JSON-RPC protocol version, should be 2.0.
Identifier for the request.
The method to be invoked on the RPC server.
Array containing parameters for the method.
Show child attributes
Show child attributes
Response
200 - application/json
Successful response with the smart account details.
⌘I
