Airdrop Terms & Privacy Policy Acceptance

To be eligible to receive the airdrop, it is required to submit a cryptographic signature certifying the BABY address owner’s acceptance of the Airdrop Terms and the Cuneiform Privacy Policy via the airdrop API.

1. Prerequisites

This guide assumes that you have created a Babylon address to receive the airdrop using the Babylon Address CLI Creation guide. Please ensure that you have access to your keyring before proceeding.

2. API Data Format

The Airdrop API requires the following JSON message format for designating your acceptance of the Airdrop Terms and the Privacy Policy:

{
    "babyAddress": "bbn1uxx48k7lzrjsy8t6l34m76jzzgjee2m35ppfhh",
    "babySignature": "zuuNchJnEz31HZyBX+kftsBSuQJJnrjA2vBQTmOctVZAjaNNvVpTrItRBSxmUJKHN+E+4POyjnxTrfBXhgV9MA==",
    "babyPublicKey": "AtU4i0OjGcvtdeiJjygOaHmxk9JvNKZVipu46I6zLi/z"
}

Detailed specification of each field:

  • babyAddress: The BABY address derived from the Babylon key as a Bech-32 encoded string.
  • babySignature: The Base64 encoded ADR36 signature made using the private key of the BABY address. The signing doc specification can be found here.
  • babyPublicKey: The Base64 encoded BABY public key, corresponding to the babyAddress.

3. Acceptance Data Creation

To generate the required acceptance data, we are going to use the Staker CLI program.

3.1. Setup the Staker CLI Program

First, clone the btc-staker repository:

git clone https://github.com/babylonlabs-io/btc-staker.git
Cloning into 'btc-staker'...

Next, checkout to the v0.15.2 release tag:

cd btc-staker
git checkout v0.15.2

In the root directory of btc-staker, install the stakercli binary using make install:

make install
CGO_CFLAGS="-O -D__BLST_PORTABLE__" go install -mod=readonly --tags "" --ldflags ''  ./...

You can verify the installation by running stakercli --help.

stakercli  --help
NAME:
   stakercli - Bitcoin staking controller
USAGE:
   stakercli [global options] command [command options] [arguments...]
COMMANDS:
   help, h  Shows a list of commands or help for one command
   Admin:
     admin, ad  Different utility and admin commands
   Daemon commands:
     daemon, dn  More advanced commands which require staker daemon to be running.
   PoP commands:
     pop  Commands realted to generation and verification of the Proof of Possession
   transaction commands:
     transaction, tr  Commands related to Babylon BTC transactions Staking/Unbonding/Slashing
GLOBAL OPTIONS:
   --btc-network value            Bitcoin network on which staking should take place (default: "testnet3")
   --btc-wallet-host value        Bitcoin wallet rpc host (default: "127.0.0.1:18554")
   --btc-wallet-rpc-user value    Bitcoin wallet rpc user (default: "user")
   --btc-wallet-rpc-pass value    Bitcoin wallet rpc password (default: "pass")
   --btc-wallet-passphrase value  Bitcoin wallet passphrase
   --help, -h                     show help

3.2. Sign the Acceptance Message

The Acceptance message to sign is the following:

By signing this message, you hereby acknowledge that you have read, understood, and agree to the Airdrop Terms (available at https://airdrop.babylon.foundation/airdrop-terms) and the Privacy Policy (available at https://airdrop.babylon.foundation/cuneiform-privacy-policy).

Please read the above message carefully and if you want to continue, sign the entire message string by running the stakercli pop sc command as follows:

stakercli pop sc --baby-address <your-baby-address> \
  --keyring-dir /path/to/keyring --keyring-backend file \
  --msg 'By signing this message, you hereby acknowledge that you have read, understood, and agree to the Airdrop Terms (available at https://airdrop.babylon.foundation/airdrop-terms) and the Privacy Policy (available at https://airdrop.babylon.foundation/cuneiform-privacy-policy).'
Enter keyring passphrase (attempt 1/3):
{
    "babyAddress": "bbn1uxx48k7lzrjsy8t6l34m76jzzgjee2m35ppfhh",
    "babySignature": "zuuNchJnEz31HZyBX+kftsBSuQJJnrjA2vBQTmOctVZAjaNNvVpTrItRBSxmUJKHN+E+4POyjnxTrfBXhgV9MA==",
    "babyPublicKey": "AtU4i0OjGcvtdeiJjygOaHmxk9JvNKZVipu46I6zLi/z"
}

where:

  • --baby-address is the Bech-32 BABY address.
  • --keyring-dir is the directory on which the BABY key that will receive the airdrop is stored. Note that this should not contain the direct parent directory of the key files (e.g., keyring-xxx). For example, if the keyring file is stored under ~/.babylond/keyring-file/, then ~/.babylond/ should be specified in the flag.
  • --keyring-backend is the backend of the BABY key. It should be the same as the one when the key was created.
  • --msg is the message to sign. It should be the exact message above included in the single quotation.

4. Submit Signed Data to the API

To submit the signed acceptance data, you need to construct the payload with the previously generated data send it to the Airdrop API collection endpoint using a POST request as follows:

curl -X POST 'https://airdrop-api.babylon.foundation/pop/baby-tos' \
-H 'Content-Type: application/json' \
-d '{
    "babyAddress": "bbn1uxx48k7lzrjsy8t6l34m76jzzgjee2m35ppfhh",
    "babySignature": "zuuNchJnEz31HZyBX+kftsBSuQJJnrjA2vBQTmOctVZAjaNNvVpTrItRBSxmUJKHN+E+4POyjnxTrfBXhgV9MA==",
    "babyPublicKey": "AtU4i0OjGcvtdeiJjygOaHmxk9JvNKZVipu46I6zLi/z"
}'

In case of success, the API will return the data you submitted:

{"babyAddress":"bbn1uxx48k7lzrjsy8t6l34m76jzzgjee2m35ppfhh","babySignature":"zuuNchJnEz31HZyBX+kftsBSuQJJnrjA2vBQTmOctVZAjaNNvVpTrItRBSxmUJKHN+E+4POyjnxTrfBXhgV9MA==","babyPublicKey":"AtU4i0OjGcvtdeiJjygOaHmxk9JvNKZVipu46I6zLi/z"}

If the signature verification fails, the API will return a 400 status code and the following response:

{"message":"Authentication failed, signature invalid: zuuNchJn...","code":400}

5. Verify Terms of Service is Signed

To confirm that the terms of service have been signed, you may query the API collection endpoint using a GET request as follows:

curl -X GET 'https://airdrop-api.babylon.foundation/pop/baby-tos?babyAddress=your-baby-address'

where your-baby-address with the Babylon address you used to sign the terms of service.

Example Response:

{
    "total": 1,
    "page": 1,
    "pageSize": 20,
    "list": [
        {
            "babyAddress": "bbn1s0gxmwyh8lsq55vlgr9xy3dc90lqmp7tz62ec2",
            "babySignature": "vhfOlrfRWc872TfzN3fFyby4YP4hoF3TFJ+31pnqB70V3glE0LuMPAD1vtIHmJs6+9Wx6ltaTujvLNMVlEY/cw==",
            "babyPublicKey": "Aq1Agt1lErIGZdJSj5k8xXU5fuuvE11WqsuNMBmOozsW",
            "babySignedAt": 1741339093080,
            "message": "By signing this message, you hereby acknowledge that you have read, understood, and agree to the Airdrop Terms (available at https://airdrop.babylon.foundation/airdrop-terms) and the Privacy Policy (available at https://airdrop.babylon.foundation/cuneiform-privacy-policy)."
        }
    ]
}

where babySignedAt represents the time of signing in Unix timestamp format.

Search Your Wallet Address Here

Wallet 701

bbn12rtfyc56n60ve3xsnw92v8rq4u66jvxcj3x0p3

Wallet 702

bbn1kqpw6tuaep5qfdstn9xfdgxjfhnlxgsn4uhl56

Wallet 703

bbn1r28ed7nwxtffvhn896fznj7eggdcmwk48ta3yk

Wallet 704

bbn1qh808jngqcx33r3fmvxs8fwcrc6jlggmz25xh8

Wallet 705

bbn15e75jr6e0d2yrpzw420p3zmk9el04a2ftyp88p

Wallet 706

bbn132zgv2ncmh8ccqhzdcu05lhglxyst3ym9yleh3

Wallet 707

bbn1f9qegv02nq9r5ag5sm0f2hfsk2yzprh4mm0pan

Wallet 708

bbn1aaslaq50jrh69mww3rrxzele0qygw3kyu82hqm

Wallet 709

bbn1q8kmxydmd648slgyp6qmduvgyet75pruud8y28

Wallet 710

bbn1qjcm0unqjsu0cgtw4vyglw5kc9cypurm7zf56h

Wallet 711

bbn168emttxnjw63g5m2gddvcs0zq57dp6d9xk48dv

Wallet 712

bbn16jptqfmkee8n88mxyq896q9w2dvmsq8uu83ls5

Wallet 713

bbn1h5kqk49qply5mzr9lh0er377k0rtxdpsa9kg75

Wallet 714

bbn15pvqg7esgvux6cpve54dspsk37gvu7te6ucpqu

Wallet 715

bbn1yn6mykfasffpgtkkgfeepnykt9jf8cqx54d8yd

Wallet 716

bbn1zvs8lzyq0lv775lvnjgkuvkqeuc7r93mvvqmcl

Wallet 717

bbn1r06r88pk7k26s4t4vj3g58lu8ex0zgh6e96x2c

Wallet 718

bbn1czv6qpwurywgtdnj387fnlkde4alsehx7d7tqg

Wallet 719

bbn1yrrugzy6f02vm5f9najz9p6ymat264xu2lwtl8

Wallet 720

bbn18pre0p6v3jcrpkj8u8tpw9r7tru37gz4stahcz

Wallet 721

bbn1he9t9zxm4qcrrrc672gfla0a2fpupsu97x57qz

Wallet 722

bbn1udw4032y7my0q9y0mp8ffry5m2u5xl3dxscc0y

Wallet 723

bbn167uwkpl6k4uz8t5fxettpqs7nw7nqu4guwxq8l

Wallet 724

bbn1ef073hrglyj6udet5w5w6vxdyc95qvnns33v4z

Wallet 725

bbn13aru23fepqs4xlu3lwvlx3zuzuuuv0pmm88q0z

Wallet 726

bbn1xa2jymy4zzj5ehk788k94f9vrue9pxy833465f

Wallet 727

bbn1zmanmvhly0dj537ugm99khhe9zkze6yvk0uydl

Wallet 728

bbn1drlqh5f5tmtzy53xa3k6ux58du0lclksh5yf4z

Wallet 729

bbn132vtsp6639jud5gza7szgvv7g2zk4528whznkd

Wallet 730

bbn1ml8hvcv73knd5nae65ge7ceehfy5yj5yt08u0q

Wallet 731

bbn19jd6dj8vmqlncj2ux37gfvrkukma8t7sm6e5qk

Wallet 732

bbn1u8gytxpr53a29tkhsty7lmuspphgcfehvltq72

Wallet 733

bbn19s33x90mn9v2hzm9nc35rdd94m8z9hx95en6v4

Wallet 734

bbn1qm0hhug8kszhcp9f3ryuecz5yw8s3e5vcdmff5

Wallet 735

bbn1p9hsz5wp80r5ncrgn3jvvp4w5a8ka66ef76h6d

Wallet 736

bbn1wnlftvamjdddhn6ftjjlz4xfyyfqjkf9vep29c

Wallet 737

bbn167q7gcrjjpcpr3av4wchkzx8nyj27980dp9k6w

Wallet 738

bbn1mkka0w05ad7gndgyqhdv7cdpyn956n9antacfe

Wallet 739

bbn125s7s07qwspecs296ytcgn4y5e3ht26pfae7rp

Wallet 740

bbn1xaxha6d8lyg5lfkm65hrmj5f79ck3qmx79xd4v

Wallet 741

bbn1wwwscvmqgl0ewua68p74agzdvc0trl6vagscur

Wallet 742

bbn1wvvffsxjqv834suly69c9rpcvhynlfx3qzzj4z

Wallet 743

bbn1zay6l9akluul7grn4jvpr8kxehhhmccqmnqt9s

Wallet 744

bbn1x8lvvq000kcu37stck2j77cjszhev07acjq6cl

Wallet 745

bbn1f2w6ywddk22fl07w7263wyw2zyc2haxktrakkq

Wallet 746

bbn1eh64xuz68nmtcrufsnwjk5a0fwxstuyhtmaze5

Wallet 747

bbn1sara3xelzqktnhshsxpajcvdpxjfamxca6wckf

Wallet 748

bbn1g9u9jx6dtqymx5dxzrqy2xc0jefc0mm0aykhrf

Wallet 749

bbn1r53kukgfegj69hn24dv6c52d7rx5sd8z9taz78

Wallet 750

bbn1p4mtvvp77r2y9qkdddphgru8je9jhm055vv6zf

Wallet 751

bbn18z49kq0x708sqp4ucnja8sxxrev975te3pqds8

Wallet 752

bbn13zj9d3p0j3edf40nasp4u5dvegrzd6d8f3zrjj

Wallet 753

bbn16fmwntvtsz0kgfx3805lxcmett20kupse5sffd

Wallet 754

bbn1nqyekssj08zrkpg49svfrgv4kgne3l54zqwuck

Wallet 755

bbn1cqvjtylesr2ucgmfttc9852a7ufz6w8jk9jvxf

Wallet 756

bbn1h82pruwrzaysg7q4a3nv6rakh0zn3mqjkafzav

Wallet 757

bbn1e57y24xp9a5hgedasjz20lz6zwwnvmxjagmhnc

Wallet 758

bbn14wpw0h60t5rj4yge5454ckd7xn7a3tk67vrg36

Wallet 759

bbn1kemcsj0v5mh4easqwq39367x08qslxypfq2cs0

Wallet 760

bbn1wcx4avqusvkny6plpvhdfcdz3eljjczh0a07qt

Wallet 761

bbn10kvd0h4lcpnqz0883hatqcwpelrdulmhvy7g03

Wallet 762

bbn1rmwnzsvda5k33nup3qc8d9g7qu746zwune6gz3

Wallet 763

bbn1dpdgc48lags398l00pxje8mutlmrsn9papf28g

Wallet 764

bbn10ag4am7a3plfr29xzn93fpdzq3r7z7exqla29f

Wallet 765

bbn1v6ynfp76wjrx640zr6q2h4fqvf7gwwu5xny303

Wallet 766

bbn1lwu4hd4fz0lqgtzlpx7wl52qys3cxmnsdeuddm

Wallet 767

bbn1lu27xjnmvjukg87a2p4d3dxg5epdlrtwsfsavw

Wallet 768

bbn1nl23wmq3fnq3883q9lztcpghqp9etyxwfvhvx9

Wallet 769

bbn170wtj76cqucwsmaggt58g99402xspag0gvnxhj

Wallet 770

bbn12t976e4zns2gvr0cwf76yc2sndmqs7wxjntujs

Wallet 771

bbn1mu2k5u6kul2vfzre2mc3uf28daufvxlgmmjdsk

Wallet 772

bbn1ptkcnuyr2qv3zt6hnyuqh02luzazn5t5d4rhnu

Wallet 773

bbn10ujw8lp4pku7rdv4hl4g3tg8tc7erxcqu25npr

Wallet 774

bbn1yaw48zxvu6wp787qtj99utara3x0735ffjx7xm

Wallet 775

bbn1s3tztk84njann3vz58t7hnfsmn6jwyuns8qwfl

Wallet 776

bbn16j0lqzqmf4fu8aveuemfsqn7tzg0sjjp5yyx7y

Wallet 777

bbn1rf9pza0kufp29v7srcmtrjr5vuhdxpl9jfx8ed

Wallet 778

bbn1c3l2vkvfsqsgjnd6lr6xqp4264upgz05ppjncj

Wallet 779

bbn1v24s2f70h0qnfy0v86jehhy9cwr08uttstsysl

Wallet 780

bbn1685j5hlj7454s8d6srx7qmzaml2w9zcxaw7rhr

Wallet 781

bbn1h3qew0cl5ewtks88txu7zf9ufc4srpjcgqfqkx

Wallet 782

bbn1wj69qsa63436waqrmd64r4cujgz9hcknfpy7vt

Wallet 783

bbn1efd34lp4t7un2uk3d4y26gdygml5gg6kl4yx54

Wallet 784

bbn15257xcn83gnxxn64earjfq5d0yw57jxtqqv205

Wallet 785

bbn1u4tzganpsvwa46wxqq2lhduaap3y3qu8c8dg5z

Wallet 786

bbn18789g874r45p5rxugeh8szc7xgf9rd9w5rmmvl

Wallet 787

bbn1l2jau4y3rpnnm5tjd7x5lz28vn28g502zflc0g

Wallet 788

bbn1secvq8ulcj38es3mllukdajwfpyrr36t93zrcu

Wallet 789

bbn1v6xmrhsm50669v370emvwvlddjexs4pl4jzcw9

Wallet 790

bbn1hzk644v07ec9t6348lsvgtmmrqeaaec658cyzh

Wallet 791

bbn1qlp889utpx2dzyzj7m0e7wmfd8s3huf8hura7z

Wallet 792

bbn1yqhth9glc9clvyzzgjtx4k4ruytrqf47dfn6kq

Wallet 793

bbn1ed0leutsrr0tt6y7jf4aqnr6gsmwm53p9elynm

Wallet 794

bbn14eff9e7hp9l6y29up93dhacswer9n4fyu5u2tf

Wallet 795

bbn1r7t03nzgfg93qvachnngsk6wyuctyeu92hh822

Wallet 796

bbn1raq2sg9w2877skj7adfyvnvuqdwuqkzf6mc35c

Wallet 797

bbn1jnqv9kmwsndetcae6crxsgvpf3u9st94vjcyad

Wallet 798

bbn1t9ajjts95ygs276299gumfw8qt775f2ut6qphg

Wallet 799

bbn1e4h9sfafrqj72l4l90p5j7gfujkuw8zwykttyw

Wallet 800

bbn1wgc7hrthkpt6gydv5t59kryjjtdtlnyw6mj37l