Where do you get the transaction data & where do you submit your work? The concept of bitcoin mining (hash functions &amp; the goal) are well elaborated on many sites. There are also lots of examples.
However, when going into real production I guess you need data like the latest hash, info about the block and transactions and so forth.
In addition, once you make your guess, you have to submit the work somewhere.
I can however not find any resources that explain where to do this? Is there an API to which you submit your work, to which you attach also your bitcoin address of your wallet, and once you make the right guess the btc is transferred to this account?
What are the bitcoin endpoints in my case?
when going into real production I guess you need data like the latest hash, info about the block and transactions and so forth.

If you're using a mining pool, you would use Stratum to subscribe to a mining pool's job notifications and their notifications would include this information. If you're using bitcoind to mine on your own, you'd use getblocktemplate. Additionally, you can build the template yourself.

Is there an API to which you submit your work

If you're trying to submit a block to the Bitcoin network itself, there is the submitblock bitcoind RPC call that will allow you to submit a full block. If you're trying to submit shares to a mining pool, you'd probably use the mining.submit Stratum RPC call.

to which you attach also your bitcoin address of your wallet, and once you make the right guess the btc is transferred to this account?

If you're using a mining pool, you specify this information at the mining pool's website. The block work they give you will be paying to their address, so it's irrelevant.
If you're mining yourself, you'd specify this by including a &quot;coinbase&quot; transaction at the beginning of the block that pays an address you specify the appropriate block reward and transaction fees.