# understanding value on token transfer transaction

When a token transfer transaction has an ether price associated with it, is it fair to assume that that transaction used ether to buy the tokens?

For example, this transacion triggered by account A transfered 1680 tokens from acc 0x0000...to account A (tokens where minted) and cost 12 ehter. Is it fair to say that the value of the token at the time was 12/1680 = 0.0071428571428571 ETH?

The concept of "value" is a rather dodgy one. If you buy a car with X money from a shop, its value drops dramatically after the first minute when you drive it out of the shop as it becomes a used car.

I would argue it's impossible to determine the value of a token. But the price of a token is a bit easier though it may go wrong as well.

If you send a transaction with 10 Ethers to a contract and you get X tokens back you might claim that you now know the price of the tokens. Well, what if the crowdsale contract for example gives you the same amount of tokens after a month? Or returns some of your Ethers after a while? It may be impossible to know what the real price is.

But, in typical scenarios you can make an educated guess that if you send X Ethers and get Y tokens back the actual price at that moment is known. This is probably the case in at least 95% of crowdsales.

That's right.The price should be 1680/12 = 140 tokens per ETH. thus per token price is 1/140 = 0.0071428571428571

Also you can check their price function, they have different rate of price:

``````function calcAmountAt(uint256 _value, uint256 at) public constant returns (uint256) {
uint rate;

if(startTime + 2 days >= at) {
rate = 140;
} else if(startTime + 7 days >= at) {
rate = 130;
} else if(startTime + 14 days >= at) {
rate = 120;
} else if(startTime + 21 days >= at) {
rate = 110;
} else {
rate = 105;
}
return ((_value * rate) / weiPerToken) / 100;
}
``````