Blockchain receive API with same address - api

I need to accept bitcoins on my website (PHP). I'm using blockchain and i have read the api: https://blockchain.info/api/api_receive Is quite simple but i have some questions, but first i will try to explain what i need.
Client send bitcoins to my wallet (Any amount they want)
Server will be notified with confirmations until gets OK.
Gets the sent amount and client wallet from callback and store in DB.
Now my questions:
"You provide a bitcoin address we generate unique addresses that forwards payments to that address instantly notifying a callback URL."
Q: Can we reuse that address and all clients use same address to send bitcoins? Or address will be deleted? The address have a lifetime?
Instead create address to pay is possible clients pay directly to my wallet and server got notified? I don't need extra params like tokens.
I end up in a website that use always the same wallet/address for each odd: http://bitzillions.com/satoshibones
I will like to have a pay system like that, one address per game.
Also should i use blockchain/blockchain (https://github.com/blockchain/api-v1-client-php) library or the simple library (https://github.com/blockchain/receive_payment_php_demo)?
Also if you have any suggestion or alternative i will like to hear.

I think I can help. Disclaimer that I work for BlockTrail.
It would not be good to use the same address because people can view the historical transactions associated with that address. It is recommended to use a new address for every transaction. These can be under the same wallet or different wallets. That may sound complicated but with the possibilities as long as the universe is old you can make a new address per transactions. Some wallets will do this for you automatically. This is called HD Wallets or Hierarchical Deterministic Wallets. You can also use this to have your clients always pay into the same wallet.
You can also use an API to create these wallets. If you are interested in using BlockTrail's here is the link: https://www.blocktrail.com/
We also have webhooks that will send you notifications for confirmations etc... If you want to learn more about our platform, here is a blog that describes it. BTW it is free! https://blog.blocktrail.com/2015/06/blocktrails-developer-platform/

Related

How to ensure accounts aren't bots (Algorand)?

not sure if this question belongs here... We are doing a giveaway but we have >30K wallets signed up. We're worried that many are bots. Have you encountered this yet? AND/OR does anyone have a solution to check each wallet transaction history to see if they have any transactions across other signed up wallets? We checked Algo Explorer and it seems that most cases there's a parent wallet and they're sending from the main wallet to a bunch of sub-wallets... thoughts?
Unfortunately there is no good way to prevent this unless you had some form of KYC. I could have a bot create fresh wallets with no transaction history that would be impossible to correlate with each other. Then if those wallets got an asset from you I could then just have them send that asset to the "main" wallet.
You could also set a minimum value of ALGO required to hold in the wallet to be eligible. It wouldn't completely solve the problem, but would make it more expensive for the people operating the bots at least.
Alternatively, set up a centralized service with email + captcha, make each address owner validate their address via that service and deny if they don't.

Can bigger exchanges act as a proxy wallet to smaller exchanges

is there chance that Coinbase or any wallet can be used as a proxy wallet i.e a smaller exchange stores its retail clients assets on Coinbase custody but when withdrawals are made by a retail client it is processed by an api and sent from custody directly to the clients wallet
can this be achieved?
Complex, but anything is possible. You can program a login system, and depending on who logs in, a different function in the code is executed, and the books of each client's amounts would also have to be kept and integrated into the code, and the client must not have access to alter the core coding. Maybe use python?
You can already use Coinbase's API to make withdrawals to a wallet. Withdrawals via API exist for most exchanges.
https://developers.coinbase.com/api/v2#withdrawals
https://docs.pro.coinbase.com/?python#list-withdrawals

Bitcoin transaction verification process

I am building and app which will offer payment in bitcoins. I know that when I send bitcoin from one address to another it can be tracked by blockain API to verify the transaction. After receiving some assets I want to send some assets back. The customer will have an input field where he will paste his deposit wallet address. I am subscribed to blockchain API to track received assets to my bitcoin address. How can I verify that the payment was made by certain customer? Checking his address doesn't seem to solve the problem because if customer uses wallets like Coinbase, Bitstamp etc. transaction is made from multiple addresses.
A few helpers here:
What you need to do is to generate a new address and give it to your customer. This way you can uniquely identify him
Wait for confirmation before making the decision. Just because you see a transaction, does not mean you have the money. You need to wait for a few blocks and several (>6) confirmations

SMS authentication for a website

I'm looking to implement an SMS authentication for one of my projects, basically before a user is able to register an account with us, we would like to authenticate the user by sending sms containing a code to his mobile phone, and get him to put in the code in our form before he can proceed.
I've been looking around and found onVerify to be a pretty good way to go
http://www.onverify.com/
But I'd like to know if there're any other alternatives similar to onVerify as it is a bit expensive, so if I could go with cheaper one, that'd be great.
Thanks!
You can do this easily enough if you have access to an SMS provider.
Typically you send an SMS to the user by making an HTTP request, containing the verification code. You'd store this code, and the recipient number, in some persistent database, against which you can compare when they fill in the details on the form.
You don't mention which geographic regions you expect your users to be in, which can be important given the variable delivery quality in some markets.
Have a look at the HTTP API for BulkSMS, message pricing and coverage.
Note that you can register in various regions, if you, for example, want to price in USD.
Disclosure: I work at BulkSMS

Setting up a VB.net BitCoin transfer application

I need to create an application that can accept BitCoin donations. I will have clients sending the data and a server to collect the results. Now, I have my own BitCoin account (on http://ww.MyBitCoin.com) but how would I transfer coins automatically from the client to my server where it will then be added to my account?
I'm not certain what you're asking here.
You want your application to send coins from a remote machine to your server? Due to the nature of bitcoins, this isn't possible. What you can do, however, is ask for donations, and give out your receiving address, which is almost like an account number at a bank. There is a page at http://www.weusecoins.com/ that will tell you how to get a receiving address, I highly recommend reading that site.